让 alacritty 永久成为默认终端

Luí*_*usa 9 command-line update-alternatives

目前我用作alacritty默认终端模拟器。在任何给定的一天,这是以下输出update-alternatives

\n
$ sudo update-alternatives --config x-terminal-emulator\nThere are 7 choices for the alternative x-terminal-emulator (providing /usr/bin/x-terminal-emulator).\n\n  Selection    Path                             Priority   Status\n------------------------------------------------------------\n* 0            /usr/bin/alacritty                70        auto mode\n  1            /usr/bin/alacritty                70        manual mode\n  2            /usr/bin/gnome-terminal.wrapper   40        manual mode\n  3            /usr/bin/koi8rxterm               20        manual mode\n  4            /usr/bin/lxterm                   30        manual mode\n  5            /usr/bin/uxterm                   20        manual mode\n  6            /usr/bin/xterm                    20        manual mode\n  7            /usr/local/bin/termite            60        manual mode\n\nPress <enter> to keep the current choice[*], or type selection number:\n
Run Code Online (Sandbox Code Playgroud)\n

但是,每次我运行更新时,此列表中的优先级都会自动修改并alacritty不再是默认程序(并从 中删除auto mode):

\n
$ sudo update-alternatives --config x-terminal-emulator\nThere are 7 choices for the alternative x-terminal-emulator (providing /usr/bin/x-terminal-emulator).\n\n \xe2\x80\x8bSelection    Path                             Priority   Status\n------------------------------------------------------------\n* 0            /usr/local/bin/termite            60        auto mode\n \xe2\x80\x8b1            /usr/bin/alacritty                50        manual mode\n \xe2\x80\x8b2            /usr/bin/gnome-terminal.wrapper   40        manual mode\n \xe2\x80\x8b3            /usr/bin/koi8rxterm               20        manual mode\n \xe2\x80\x8b4            /usr/bin/lxterm                   30        manual mode\n \xe2\x80\x8b5            /usr/bin/uxterm                   20        manual mode\n \xe2\x80\x8b6            /usr/bin/xterm                    20        manual mode\n \xe2\x80\x8b7            /usr/local/bin/termite            60        manual mode\n\nPress <enter> to keep the current choice[*], or type selection number:\n
Run Code Online (Sandbox Code Playgroud)\n

可以使用alacritty如下命令重置为默认终端模拟器:

\n
$ sudo update-alternatives --install /usr/bin/x-terminal-emulator x-terminal-emulator /usr/bin/alacritty 70\n
Run Code Online (Sandbox Code Playgroud)\n

直到运行更新,一切都会回到原点。如何防止替代方案优先级被自动修改,alacritty永久设置为默认终端模拟器?

\n

emk*_*203 0

正如您的第一张图片通过显示星号零和“自动模式”所示,链接组“x-terminal-emulator”处于自动模式

您想要的是将其设置为手动模式。这样,无论优先级如何,替代方案都会保留。您可以通过在命令后选择“1”来实现此目的$ sudo update-alternatives --config x-terminal-emulator

这样,被选中的人alacritty就应该留下来。


ned*_*889 -1

从这里的答案来看/sf/answers/1305334131/以下内容可行

gsettings set org.gnome.desktop.default-applications.terminal exec /usr/bin/alacritty
Run Code Online (Sandbox Code Playgroud)

这将在 gnome 中工作,但如果您有不同的 DE,您的里程可能会有所不同。

测试

nathans@skynet:~$ sudo gsettings set org.gnome.desktop.default-applications.terminal exec /usr/bin/terminator
[sudo] password for nathans: 
nathans@skynet:~$ sudo apt upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages were automatically installed and are no longer required:
  chromium-codecs-ffmpeg-extra gstreamer1.0-vaapi i965-va-driver intel-media-va-driver libaacs0 libaom0 libass9 libavcodec58 libavformat58 libavutil56 libbdplus0 libblas3 libbluray2
  libbs2b0 libchromaprint1 libcodec2-0.9 libdav1d4 libfftw3-double3 libflite1 libgme0 libgsm1 libgstreamer-plugins-bad1.0-0 libigdgmm11 liblilv-0-0 libllvm11 libmfx1 libmysofa1
  libnorm1 libopenmpt0 libpgm-5.3-0 libpostproc55 librabbitmq4 librubberband2 libserd-0-0 libshine3 libsnappy1v5 libsord-0-0 libsratom-0-0 libsrt1.4-gnutls libssh-gcrypt-4
  libswresample3 libswscale5 libudfread0 libva-drm2 libva-wayland2 libva-x11-2 libva2 libvidstab1.1 libx265-192 libxvidcore4 libzmq5 libzvbi-common libzvbi0 mesa-va-drivers
  ocl-icd-libopencl1 pocketsphinx-en-us va-driver-all
Use 'sudo apt autoremove' to remove them.
The following packages will be upgraded:
  tzdata
1 to upgrade, 0 to newly install, 0 to remove and 0 not to upgrade.
1 standard security update
Need to get 296 kB of archives.
After this operation, 2,048 B of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://gb.archive.ubuntu.com/ubuntu hirsute-updates/main amd64 tzdata all 2021a-2ubuntu0.21.04 [296 kB]
Fetched 296 kB in 0s (1,730 kB/s)
Preconfiguring packages ...
(Reading database ... 178432 files and directories currently installed.)
Preparing to unpack .../tzdata_2021a-2ubuntu0.21.04_all.deb ...
Unpacking tzdata (2021a-2ubuntu0.21.04) over (2021a-1ubuntu1) ...
Setting up tzdata (2021a-2ubuntu0.21.04) ...

Current default time zone: 'Europe/London'
Local time is now:      Wed Oct  6 15:36:18 BST 2021.
Universal Time is now:  Wed Oct  6 14:36:18 UTC 2021.
Run 'dpkg-reconfigure tzdata' if you wish to change it.

nathans@skynet:~$ sudo update-alternatives --config x-terminal-emulator 
There are 2 choices for the alternative x-terminal-emulator (providing /usr/bin/x-terminal-emulator).

  Selection    Path                             Priority   Status
------------------------------------------------------------
  0            /usr/bin/terminator               50        auto mode
  1            /usr/bin/gnome-terminal.wrapper   40        manual mode
* 2            /usr/bin/terminator               50        manual mode
Run Code Online (Sandbox Code Playgroud)

更新了答案以显示命令的功能以及在 ubuntu 21.04 上运行系统升级。