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);
  • Snapsudo snap refresh emacs
  • Flatpakflatpak update org.gnu.emacs
  • 源码编译:需重新下载最新源码,重复编译安装步骤make clean清理旧文件后重新./configure && make && sudo make install);
  • EVMevv 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发行版推荐选择:Ubuntu Server(易用性强)或CentOS Stream(企业级稳定性)考虑因素:硬件兼容性、社区支持、软件生态硬件要求- 最低配置:1核CPU/1GB内存/10GB存储(基础服务)- 生产环境建议:4核CPU/8GB内存/SSD存储- 网络要求:固定公网IP、5……

    2025年8月8日
    5300
  • linux media如何挂载

    Linux中挂载媒体,通常使用mount命令,指定设备文件和挂载点

    2025年8月9日
    4900
  • Linux系统如何激活网卡?常用命令行操作与详细配置步骤有哪些?

    Linux系统中,网卡是设备联网的核心组件,激活网卡是确保网络通信的前提,无论是新安装系统、硬件更换,还是因配置调整导致网卡被禁用,掌握正确的激活方法都至关重要,本文将详细介绍Linux系统中激活网卡的多种方式,涵盖命令行工具和图形界面操作,帮助用户快速解决网络连接问题,在激活网卡前,首先需要确认网卡名称及其当……

    2025年9月20日
    4400
  • 在Linux操作系统中,具体如何查看磁盘的全部分区详细信息呢?

    在Linux系统中,查看磁盘分区是系统管理、故障排查、空间规划等场景下的基础操作,无论是管理员排查存储问题,还是开发者确认数据存储位置,都需要掌握多种查看磁盘分区的工具,本文将详细介绍Linux中常用的磁盘分区查看命令,包括其用途、参数选项、输出解析及实际应用场景,帮助用户全面掌握分区信息查看方法,lsblk……

    2025年8月23日
    5500
  • 如何强制停止Linux的tail监控?

    前台运行的tail(最常见情况)当tail命令直接在终端中执行时(占用当前终端):操作:按下组合键 Ctrl + C原理:Ctrl + C 会发送 SIGINT 信号,强制终止当前前台进程,示例:$ tail -f /var/log/syslog # 执行后持续输出日志^C # 按下Ctrl+C,tail立即终……

    2025年7月27日
    6300

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信