我安装了 Terminator,并将其设为我的默认终端此解决方案,但现在Ctrl- Alt-T将 Terminator 作为根终端打开。如何让它将 Terminator 作为普通终端打开?
答案1
会发生什么 ?
TL;DR #1:基本上,您生成x-terminal-emulator
并 Unity 会搜索x-terminal-emulator
其快捷方式文件中包含的所有内容。
- 您按下Ctrl++ Alt,T这将产生
x-terminal-emulator
。在 Debian Alternatives 系统中,x-terminal-emulator
是指向您想要使用的任何终端仿真器应用程序的符号链接。 - Unity 的机制会搜索 中的“快捷方式”文件列表
/usr/share/applications
。它会找到gksu.desktop
包含 行的文件,Exec=gksu /usr/bin/x-terminal-emulator
然后删除 行Name=Root Terminal
。Root 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'
祝你好运!!