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

ada*_*key 5 command-line root terminator

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

在此处输入图片说明

Ser*_*nyy 8

发生什么了 ?

TL;DR #1:基本上,您生成x-terminal-emulator和 Unity 搜索x-terminal-emulator其快捷方式文件中的任何内容。

  1. 你按Ctrl+ Alt+ T,它会产生x-terminal-emulator。在 Debian Alternatives 系统中,x-terminal-emulator是指向您想要使用的任何终端模拟器应用程序的符号链接。
  2. Unity 的机制在/usr/share/applications. 它找到gksu.desktop包含Exec=gksu /usr/bin/x-terminal-emulatorline的文件,然后取出 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.desktopName=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。

更多信息


nak*_*mar 6

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

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

gsettings set org.gnome.desktop.default-applications.terminal exec 'terminator'
Run Code Online (Sandbox Code Playgroud)

祝你好运!!