Ctrl-Alt-t打开根终端而不是普通终端
我安装了终结者并使用此解决方案将其设为我的默认终端,但现在按Ctrl – Alt – T打开终结者作为根终端。 如何让它作为普通终端打开终结者?
怎么了 ?
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
line,然后取出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
这是一个首先设置gnome-terminal
的perl脚本! 如果您通读该脚本,最后它有以下行:
exec('gnome-terminal',@args);
exec
调用然后生成/usr/bin/gnome-terminal
,作为单独的应用程序。 Unity再次搜索/usr/share/applications/
目录并找到具有Name=Terminal
line的gnome-terminal.desktop
文件,并在启动器上显示它。
可以做些什么?
TL; DR#3:重新分配键盘快捷键,使用自定义包装器或创建自定义.desktop
文件。 我推荐.desktop
方式。
最简单的方法是重新分配快捷方式。 使用gsettings
gsettings set org.gnome.desktop.default-applications.terminal exec 'sakura'
但这仍然无法解决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;
这样,您不必更改任何内容,但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。
更多信息
- Ubuntu Manpage:update-alternatives
- 包装脚本
- 什么是终端包装?
我尝试了以下链接: https : //bugs.launchpad.net/terminator/+bug/1447580 。
并运行以下命令,它对我有用:
gsettings set org.gnome.desktop.default-applications.terminal exec 'terminator'
祝好运!!