在 debian 上停止/启动 GUI

在 debian 上停止/启动 GUI

我想在没有 GUI 的情况下启动 Debian,然后只需键入命令即可启动所需的程序(位于我的本地计算机上),例如

$ chromium-browser &

当连接到 LAN 上的其他计算机时,我已经做了类似的事情ssh- 如果我需要可视化 csv 数据,例如在soffice.我目前安装了 gnome 桌面和 Debian 7。

我有找到了一些关于在 Debian 启动时禁用 GUI 的说明,但是我不愿意尝试它们,因为担心一旦我这样做就会被锁定而无法使用网络浏览器(如果我遇到困难,我将需要它来寻求使用浏览器的帮助)。

我想知道是否可以暂时测试在其他终端之一(例如ctrl+alt+f1)上启动 GUI 的方法,看看是否有任何问题?这行得通吗?在没有GUI的情况下启动时是否相当于启动GUI?

如果可行,请有人提供以下完整说明:

  • 在终端上启用 GUI f1,以便我可以运行 GUI 程序(不显示完整的桌面界面)
  • 启动时关闭桌面界面 GUI

显然我需要运行 X11 来加载 GUI 程序 - 这很好,但我希望启动到文本模式,然后根据需要执行 GUI 程序。

在 ubuntu 12.04 virtualbox 虚拟机上进行一些测试(希望与 debian 7 没有太大不同?)...

$ ps aux | grep gdm
# *blank*
$ ps aux | grep kdm
# *blank*
$ ps aux | grep lightdm
root      1225  0.0  0.0 270664  3500 ?        Ssl  12:43   0:00 lightdm
root      1234  1.9  2.2 236564 112276 tty7    Ss+  12:43   0:01 /usr/bin/X :0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch -background none
root      1382  0.0  0.0 156772  3572 ?        Sl   12:43   0:00 lightdm --session-child 12 19
$ sudo update-rc.d lightdm disable
update-rc.d: warning: /etc/init.d/lightdm missing LSB information
update-rc.d: see <http://wiki.debian.org/LSBInitScripts>
 Disabling system startup links for /etc/init.d/lightdm ...
 Removing any system startup links for /etc/init.d/lightdm ...
   /etc/rc0.d/K20lightdm
   /etc/rc1.d/K20lightdm
   /etc/rc2.d/K80lightdm
   /etc/rc3.d/K80lightdm
   /etc/rc4.d/K80lightdm
   /etc/rc5.d/K80lightdm
   /etc/rc6.d/K20lightdm
 Adding system startup for /etc/init.d/lightdm ...
   /etc/rc0.d/K20lightdm -> ../init.d/lightdm
   /etc/rc1.d/K20lightdm -> ../init.d/lightdm
   /etc/rc6.d/K20lightdm -> ../init.d/lightdm
   /etc/rc2.d/K80lightdm -> ../init.d/lightdm
   /etc/rc3.d/K80lightdm -> ../init.d/lightdm
   /etc/rc4.d/K80lightdm -> ../init.d/lightdm
   /etc/rc5.d/K80lightdm -> ../init.d/lightdm
$ sudo shutdown -r 0

重启后 GUI 又恢复并运行了!所以这显然没有达到预期的效果。然而:

$ sudo /etc/init.d/lightdm stop

杀死 GUI。移动到 tty2(按ctrl+alt+f2)并尝试打开 Firefox:

$ firefox &
Error: no display specified

因此尝试指定一个显示:

$ export DISPLAY='0.0'
$ firefox &
Error: cannot open display: 0.0

现在我被困住了。我仍然可以ctrl+alt+f7通过在 tty2 中输入以下内容来重新打开 GUI :

$ sudo /etc/init.d/lightdm start

但这不是我想要的。我只是希望能够运行 Firefox,而不显示所有其他桌面内容,例如时钟和菜单栏等。

尝试一些东西金发姑娘' 回答

$ sudo /etc/init.d/lightdm stop
$ echo "#!/bin/bash" > ~/.xinitrc
$ echo "exec firefox" >> ~/.xinitrc
$ xinit

这正是我想要的:)

答案1

禁用 xdm/kdm/gdm/whichever-dm-you-have 的说明是正确的。如果您不这样做,您将启动到图形登录(即 dm = 显示管理器),然后每当您退出 X(这应该像ctrl-alt-backspace尝试一下一样简单,但首先关闭您的应用程序)时,DM将重生另一个图形登录,使其无法退出 GUI。

debian 的另一种可能性是检查/etc/rc[N].d不启动 dm 的运行级别,并将其设置为initdefaultin/etc/inittab。我手头没有未经修改的 debian 系统,所以我不能说会是哪一个(如果有的话)——可能是 2 个。 不要选择 0、1 或 6。

禁用 dm 后,您将启动到登录控制台。从那里您可以使用命令启动startxX。这包括一个默认的 DE,如果您一直在使用 gnome,那么可能就是它。您还可以创建一个~/.xinitrcshell 脚本,它将代替默认值运行。一般来说,它们可以非常小,例如:

#!/bin/sh

exec gnome-session

应该启动 gnome(我相信——我手头也没有 gnome 系统)。

请注意,没有 X 就无法运行 GUI 应用程序;从你的帖子中并不清楚你是否理解这一点。 GUI程序实际上是客户需要 Xorg服务器上班。您可以通过将行替换为应用程序的名称来启动没有 DE 或 WM 的裸 X 和特定应用程序exec gnome-session,但要注意,您将无法启动其他任何内容,并且当您关闭该应用程序时,您将看着一个空白的屏幕,光标漂浮在其中。

所有这些都没有什么危险,并且如果您愿意,可以轻松地重新启用 DM。

答案2

在启动时关闭 GUI:

update-rc.d gdm3 disable # if you using gdm3
update-rc.d kdm disable  #if you using kdm

但是,如果两者都有,请运行这两个命令。

用于在启动时禁用图形模式ubuntu OS

echo "manual" | tee -a /etc/init/lightdm.override

因为ubuntu使用Upsatrt并调用lightdmupstart service.

在UNIX世界中图形环境有3层:

  1. X #支持键盘、鼠标和一些驱动
  2. Window Manager # 句柄装饰器、win 标题等
  3. 显示管理器 # 创建窗口之间的通信。

当您运行 gdm3 或 kdm 时,您会导致运行 3layers。

如果你想在网络上运行图形程序,你只需要第1层:X.你应该设置:

export DISPLAY=YOUR_DEST_IP:0.0

然后运行你的程序。

相关内容