Linux系统安装Emacs编辑器的详细步骤是什么?

在Linux系统中安装Emacs是许多开发者和爱好者的常见需求,Emacs作为一款功能强大的文本编辑器,以其高度可定制性和丰富的扩展生态著称,本文将详细介绍在Linux上安装Emacs的多种方法,包括使用系统包管理器、Snap/Flatpak通用包管理器、从源码编译以及使用版本管理工具,同时涵盖安装后的基本配置和常见问题解决。

linux如何安装emacs

使用系统包管理器安装(推荐新手)

大多数Linux发行版都提供了官方软件仓库,其中包含预编译好的Emacs包,这是最简单、最快速的安装方式,不同发行版的包管理器命令有所不同,以下是常见发行版的操作步骤:

Debian/Ubuntu/Mint等基于Debian的发行版

使用apt包管理器,操作前需更新软件包列表:

sudo apt update
sudo apt install emacs

若需安装特定版本(如Emacs 29),可添加PPA源(以Kelley’s Emacs PPA为例,提供较新版本):

sudo add-apt-repository ppa:kelleyk/emacs
sudo apt update
sudo apt install emacs29  # 安装指定版本

Fedora/CentOS/RHEL等基于Red Hat的发行版

使用dnf(Fedora 34+)或yum(旧版),Fedora默认仓库通常包含较新版本:

# Fedora
sudo dnf install emacs
# CentOS/RHEL(需先安装EPEL源)
sudo yum install epel-release
sudo yum install emacs

Arch Linux

使用pacman包管理器,Arch的仓库版本通常较新:

sudo pacman -S emacs

openSUSE

使用zypper包管理器:

sudo zypper install emacs

不同发行版包管理器命令对比表:

发行版系列 包管理器 安装命令 更新命令 卸载命令
Debian/Ubuntu apt sudo apt install emacs sudo apt upgrade emacs sudo apt remove emacs
Fedora dnf sudo dnf install emacs sudo dnf update emacs sudo dnf remove emacs
Arch Linux pacman sudo pacman -S emacs sudo pacman -Syyu sudo pacman -R emacs
openSUSE zypper sudo zypper install emacs sudo zypper up emacs sudo zypper rm emacs

优点:操作简单,依赖自动处理,与系统集成度高;
缺点:仓库版本可能滞后,无法自定义编译选项(如禁用GUI、启用特定模块)。

使用Snap或Flatpak安装(跨发行版通用)

Snap和Flatpak是跨发行版的通用包管理工具,能解决不同系统版本差异问题,尤其适合需要特定版本或隔离环境的场景。

linux如何安装emacs

使用Snap安装

Snap由Canonical开发,多数现代Linux发行版支持(需先安装snapd):

# 安装snapd(Ubuntu/Debian已预装,其他系统需单独安装)
sudo apt install snapd  # Debian/Ubuntu
sudo dnf install snapd  # Fedora
# 安装Emacs(--classic表示需要系统权限,完整功能)
sudo snap install emacs --classic

使用Flatpak安装

Flatpak由 freedesktop.org 推广,需先安装Flatpak和Flathub源:

# 安装Flatpak
sudo apt install flatpak  # Debian/Ubuntu
sudo dnf install flatpak  # Fedora
# 添加Flathub源(Emacs官方发布渠道)
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
# 安装Emacs
flatpak install flathub org.gnu.emacs

启动时需使用flatpak run org.gnu.emacs,可通过创建桌面快捷键简化操作。
优点:版本独立,自动更新,环境隔离;
缺点:启动较慢,占用空间较大,部分系统功能可能受限(如访问设备文件)。

从源码编译安装(适合高级用户)

若需使用最新开发版、自定义编译选项(如启用原生编译、支持GTK3等),或官方仓库版本过旧,可选择从源码编译,以下是通用步骤:

安装编译依赖

不同发行版依赖包名不同,需提前安装:

# Debian/Ubuntu
sudo apt build-dep emacs  # 自动安装编译所需的依赖包
sudo apt install libgtk-3-dev libx11-dev libxpm-dev libjpeg-dev libpng-dev libgif-dev libtiff-dev libncurses5-dev libxml2-dev libgpm-dev
# Fedora
sudo dnf install emacs-devel gtk3-devel libX11-devel libXpm-devel libjpeg-turbo-devel libpng-devel giflib-devel libtiff-devel ncurses-devel libxml2-devel gpm-devel
# Arch Linux
sudo pacman -S base-devel gtk3 libxpm libjpeg-turbo libpng giflib libtiff ncurses libxml2 gpm

下载源码

从GNU官网或GitHub获取最新源码(以GNU官网为例):

wget https://ftp.gnu.org/gnu/emacs/emacs-29.3.tar.xz  # 替换为最新版本
tar -xvf emacs-29.3.tar.xz
cd emacs-29.3

配置编译选项

运行./configure可自定义功能,常用选项:

./configure --prefix=/usr/local            # 安装路径(默认/usr/local)
            --with-x-toolkit=gtk3          # 使用GTK3界面
            --with-native-compilation       # 启用原生编译(提升Lisp性能)
            --with-json                     # 支持JSON解析
            --without-selinux                # 禁用SELinux支持(可选)

若需查看所有选项,运行./configure --help。

编译并安装

make -j$(nproc)  # 使用多核并行编译(加速)
sudo make install  # 安装到系统

优点:功能高度自定义,可获取最新功能;
缺点:依赖复杂,编译耗时,需手动处理版本更新。

linux如何安装emacs

使用版本管理工具(EVM)

若需同时管理多个Emacs版本(如测试不同版本兼容性),可使用Emacs Version Manager(EVM),类似Node.js的nvm:

安装EVM

curl -L -O https://github.com/rejeep/evm/raw/master/scripts/install-evm.sh
bash install-evm.sh
echo 'eval "$(evm init -)"' >> ~/.bashrc  # 初始化(根据shell类型调整)
source ~/.bashrc

安装并切换Emacs版本

evm install 29.1      # 安装指定版本(从GitHub或GNU官网下载)
evm use 29.1          # 切换到29.1版本
evm list              # 查看已安装版本
evm global 29.1       # 设置默认版本

优点:灵活切换版本,便于多环境测试;
缺点:需预先编译或下载各版本,占用额外磁盘空间。

安装后基本配置

安装完成后,首次启动Emacs可运行emacs命令,首次启动会自动生成配置文件~/.emacs.d/init.el,以下为简单配置示例(在init.el中添加):

;; 设置字体(需系统已安装字体)
(set-face-attribute 'default nil :font "Fira Code-12")
;; 禁启动欢迎页
(setq inhibit-startup-message t)
;; 显示行号
(global-display-line-numbers-mode t)
;; 主题(需安装主题包,如doom-themes)
(load-theme 'doom-one t)

保存后重启Emacs即可生效,更多配置可通过扩展包(如use-package)进一步优化。

相关问答FAQs

Q1:安装时提示依赖包缺失怎么办?
A:依赖包缺失通常因系统未安装编译或运行所需库,解决方法:

  • 若使用包管理器安装,运行sudo apt build-dep emacs(Debian/Ubuntu)或sudo dnf builddep emacs(Fedora)自动安装编译依赖;
  • 若从源码编译,根据错误提示安装对应库(如“未找到gtk3-dev”则安装libgtk-3-dev);
  • 确保系统已更新:sudo apt update && sudo apt upgrade(Debian/Ubuntu)或sudo dnf update(Fedora)。

Q2:如何更新已安装的Emacs?
A:更新方式取决于安装方式:

  • 包管理器:sudo apt upgrade emacs(Debian/Ubuntu)或sudo dnf update emacs(Fedora);
  • Snap:sudo snap refresh emacs;
  • Flatpak:flatpak update org.gnu.emacs;
  • 源码编译:需重新下载最新源码,重复编译安装步骤(make clean清理旧文件后重新./configure && make && sudo make install);
  • EVM:evv update 29.1(更新指定版本)或evv install latest(安装最新版)。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/28830.html

赞 (0)
酷番叔酷番叔
上一篇 2025年9月23日 09:19
下一篇 2025年9月23日 09:38

相关推荐

  • Linux内存泄露如何排查?检测方法有哪些?

    在Linux系统中,内存泄露是指程序在运行过程中动态分配的内存未被正确释放,导致可用内存逐渐减少,最终可能引发系统性能下降或程序崩溃,检测内存泄露需要结合系统监控工具和专业的内存分析工具,通过观察内存使用趋势、分析内存分配记录等方式定位问题,以下是详细的检测方法和步骤,内存泄露的初步判断:基础监控工具在深入分析……

    2025年10月3日
    19400
  • Linux系统中如何执行命令、脚本和可执行程序的步骤?

    Linux作为一款广泛使用的类Unix操作系统,其核心功能之一是通过执行命令或程序来完成用户指定的任务,无论是简单的文件操作,还是复杂的服务管理,都离不开对“执行”过程的理解,本文将从Linux执行的基础机制、命令类型、执行方式及权限控制等方面,详细解析Linux如何执行命令与程序,Linux执行的基础:She……

    2025年8月26日
    19900
  • linux如何找到www目录

    在Linux系统中,“www目录”通常指的是Web服务器(如Apache、Nginx等)存放网站文件的根目录,也可能是用户自定义的网站开发或托管目录,找到www目录的方法因服务器配置和用户需求而异,以下从默认路径、配置文件查找、命令行搜索等角度详细说明,帮助快速定位目标目录,通过Web服务器默认路径查找主流Li……

    2025年9月25日
    25400
  • Linux源代码,该如何查看才高效?

    Linux作为开源操作系统的代表,其源代码是理解系统工作原理、进行二次开发或问题排查的重要资源,查看Linux源代码需要掌握获取源码的方法、理解源码结构,并借助合适的工具进行高效浏览和分析,获取Linux源代码是第一步,主要有三种方式:通过Git克隆官方仓库、下载发行版提供的源码包、或使用在线源码查看平台,Gi……

    2025年8月28日
    19400
  • Linux命令行如何使用?新手入门到实用的操作方法与技巧详解

    Linux命令行是Linux系统的核心交互方式,通过文本指令直接与系统通信,相比图形界面更高效、灵活,尤其适合服务器管理、自动化任务和深度系统操作,掌握命令行使用是Linux用户的必备技能,下面从基础结构、常用操作、权限管理、进程控制等方面详细介绍,Linux命令行基础结构Linux命令格式统一为“命令选项参数……

    2025年9月22日
    21100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信