Ctrl-Alt-t 打开根终端而不是普通终端

Ctrl-Alt-t 打开根终端而不是普通终端

我安装了 Terminator,并将其设为我的默认终端此解决方案,但现在Ctrl- Alt-T将 Terminator 作为根终端打开。如何让它将 Terminator 作为普通终端打开?

在此处输入图片描述

答案1

会发生什么 ?

TL;DR #1:基本上,您生成x-terminal-emulator并 Unity 会搜索x-terminal-emulator其快捷方式文件中包含的所有内容。

  1. 您按下Ctrl++ AltT这将产生x-terminal-emulator。在 Debian Alternatives 系统中,x-terminal-emulator是指向您想要使用的任何终端仿真器应用程序的符号链接。
  2. Unity 的机制会搜索 中的“快捷方式”文件列表/usr/share/applications。它会找到gksu.desktop包含 行的文件,Exec=gksu /usr/bin/x-terminal-emulator然后删除 行Name=Root TerminalRoot Terminal然后将其显示在 Unity 的面板上

为什么 gnome-terminal 不会发生同样的事情?

TL;DR #2: gnome-terminal实际上是由包装脚本生成的,默认快捷方式链接到该脚本。

运行时,sudo update-alternatives --config x-terminal-emulator系统会向您提供一些选项,但这些选项都不是/usr/bin/gnome-terminal。您首先要/usr/bin/gnome-terminal.wrapper设置的是 perl 脚本gnome-terminal!如果您通读该脚本,最后会发现以下行:

exec('gnome-terminal',@args);

exec然后,该调用会生成/usr/bin/gnome-terminal单独的应用程序。Unity 再次搜索/usr/share/applications/目录并找到gnome-terminal.desktop包含行的文件Name=Terminal,并将其显示在启动器上。

我们能做什么?

TL;DR #3:重新分配键盘快捷键,使用自定义包装器,或创建自定义.desktop文件。我推荐这种.desktop方式。

最简单的方法是重新分配快捷方式。使用 gsettings

 gsettings set org.gnome.desktop.default-applications.terminal exec 'sakura'

但这仍然不能解决 Unity dash 的问题。我首选的解决方案是创建包含以下内容的自定义.desktop文件/usr/share/applications/x-terminal-emulator.desktop

[Desktop Entry]
Name=MY CUSTOM TERMINAL
Encoding=UTF-8
Exec=/usr/bin/x-terminal-emulator
Icon=gksu-root-terminal
StartupNotify=true
Terminal=false
Type=Application
Categories=GTK;Utility;TerminalEmulator;

这样,您不需要更改任何内容,但 Unity 将显示MY CUSTOM NAME在启动器上。

第三种方法,如果你有冒险精神,可以编写一个包装脚本,如下所示:

   #!/bin/sh
   exec /path/to/terminal-emulator ${1+"$@"}

然后你可以使用以下方法将其添加为备选系统中的选项之一:

sudo update-alternatives   --install /path/to/wrapper name /path/to/wrapper priority 

旁注:优先级是一个整数,例如 10。

更多信息

答案2

我尝试了以下链接:https://bugs.launchpad.net/terminator/+bug/1447580

并运行以下命令,它对我有用:

gsettings set org.gnome.desktop.default-applications.terminal exec 'terminator'

祝你好运!!

相关内容