ada*_*key 5 command-line root terminator
我安装了终结者,并使其我的默认终端这一解决方案,但现在Ctrl- Alt-T打开终结者作为根终端。如何让它作为普通终端打开终结者?
发生什么了 ?
TL;DR #1:基本上,您生成x-terminal-emulator
和 Unity 搜索x-terminal-emulator
其快捷方式文件中的任何内容。
x-terminal-emulator
。在 Debian Alternatives 系统中,x-terminal-emulator
是指向您想要使用的任何终端模拟器应用程序的符号链接。/usr/share/applications
. 它找到gksu.desktop
包含Exec=gksu /usr/bin/x-terminal-emulator
line的文件,然后取出 line Name=Root Terminal
。这Root Terminal
然后显示在统一的面板上为什么 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);
Run Code Online (Sandbox Code Playgroud)
然后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'
Run Code Online (Sandbox Code Playgroud)
但这仍然不能解决 Unity 的破折号的怪癖。我的首选解决方案是创建具有以下内容的自定义.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;
Run Code Online (Sandbox Code Playgroud)
这样,您无需更改任何内容,但 Unity 将显示MY CUSTOM NAME
在启动器上。
第三种方法,如果您喜欢冒险,可以编写一个包装脚本,如下所示:
#!/bin/sh
exec /path/to/terminal-emulator ${1+"$@"}
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用将其添加为替代系统中的选项之一
sudo update-alternatives --install /path/to/wrapper name /path/to/wrapper priority
Run Code Online (Sandbox Code Playgroud)
旁注:优先级是一个整数,例如 10。
更多信息
我尝试了以下链接:https : //bugs.launchpad.net/terminator/+bug/1447580。
并运行以下命令,它对我有用:
gsettings set org.gnome.desktop.default-applications.terminal exec 'terminator'
Run Code Online (Sandbox Code Playgroud)
祝你好运!!