如何以 root 身份启动后续 shell?

如何以 root 身份启动后续 shell?

我在虚拟机内运行本地测试服务器。我经常需要在其中打开多个窗口,并且所有窗口都必须以 root 身份登录。通常这是通过su在每个标签上书写总共 7-8 次来完成的。

有没有一种方法,我只需输入 root 密码一次,并且我打开的下一个终端选项卡/窗口已以 root 身份登录?有点像它维护当前的工作目录?

答案1

您只需以 root 身份打开终端模拟器即可。

su -l -c gnome-terminal

这将以 root 身份启动“gnome-terminal”。这样,该终端模拟器中的任何选项卡都将成为根选项卡。

sudo -b gnome-terminal可以工作得更好,但我没有 ubuntu 来检查它是否开箱即用。

答案2

在图形会话中

当您以图形方式登录时,您可以root像其他人所说的那样运行图形终端模拟器应用程序。执行此操作的最佳方法通常是gksu或者gksudo,因为这会自动处理更改HOME/root(不太重要)使用临时.Xauthority文件(来源)。gksu是 和 的前端su,并且sudo在大多数操作系统上将被配置为使用管理员以root. (或者您可以使用gksu --su-mode和指定哪个gksu --sudo-mode,后者始终等同于在gksudo没有任一标志的情况下运行。)

侏儒

gksu gnome-terminal或者gksudo gnome-terminal

KDE(使用kdesu或者kdesudo反而)

kdesu gnome-terminal或者kdesudo gnome-terminal

  • 请注意,kdesu通常仅存在于PATH支持su将程序运行为root.在某些 GNU/Linux 操作系统(例如 Ubuntu)上情况并非如此。

Xfce

gksu xfce4-terminal或者gksudo xfce4-terminal

LXDE

gksu lxterminal或者gksudo lxterminal

作为安德科兹奥雷利安·兰布罗斯已经说过,运行图形终端模拟器 asroot会使其选项卡中出现的所有 shell(以及新窗口,如果从root终端菜单创建的话)都以root.

在基于文本的会话中

如果您没有能力运行 GUI 程序(虚拟控制台登录,ssh不登录-X,或者您只是不想登录),上述解决方案将不适合您。在这种情况下,您可能会考虑使用屏幕管理器,它可以让您在一个终端上控制多个终端。这有效地实现了与具有多个选项卡的 GUI 终端相同的目标root......只是没有 GUI。

screen是最常见的屏幕管理器。你可以使用这些命令一旦它运行就可以控制它。

或者使用byobu,一个方便的屏幕包装。byobu非 Ubuntu 系统上通常不提供(尽管可以安装)。但你表示你正在跑步,所以你应该能够使用它。

刚刚启动的 byobu 屏幕显示了 shell,最后两行显示了各种信息。 byobu运行在 Ubuntu 11.10 上。有关当前“窗口”和系统的信息显示在底部。

byobu创建新的“窗口”并在它们之间切换非常容易。F2制作一个,F3向后切换,F4向前切换,然后F9调出交互式主菜单。

还有更多默认byobu键绑定。他们来了:

F2    Create a new window    |  F7    Scrollback and search
F3    Go to the prev window  |  F8    Rename a window
F4    Go to the next window  |  F9    Configuration
F5    Reload profile         |  F12   Screen escape sequence
F6    Detach from session    |  'man byobu'  - byobu's help
'byobu'  - reattach session  |  'man screen' - screen's help

来源byobu内置帮助,可在F9配置菜单中访问

另请参阅 Ubuntu 网站上的文档屏幕(在社区 wiki 中)Byobu(在服务器指南中)

答案3

例如,您可以以 root 身份启动 gnome-terminal 实例:

$ sudo gnome-terminal

然后这个 gnome-terminal 实例中的所有选项卡都将以 root 身份打开

相关内容