如何在 Linux 启动后不通过 TTY 会话执行命令?

如何在 Linux 启动后不通过 TTY 会话执行命令?

我目前正在创建一台信息亭电脑,我想知道这是否可行:

当 PC 启动并且 Linux Debian 启动时,我想知道是否可以在不启动 TTY 会话的情况下startx分别启动命令。xinit /home/kiosk/.xinitrc -- /etc/X11/xinit/xserverrc :0 -auth /tmp/serverauth.2FksDI7OqU

背景是,我不希望人们能够通过 CTRL + ALT + F1-F6 获取 shell。

我知道我可以通过禁用它们,/etc/inittab但是这样我就无法启动我的 X 会话。

有什么建议么?

答案1

您可以修改 xorg.conf 中的 ServerFlags 部分,而无需摆弄 inittab:

Section "ServerFlags"
Option "DontVTSwitch" "true"
EndSection

答案2

我没有一个运行 inittab 的系统,但我相信只需删除运行 X 的运行级别的 shell(即从 inittab 中的条目中删除 5)即可

这种方法之所以有效,是因为为了启动 X,许多系统会将运行级别切换为 5。当然,它确实假设您的系统以特定方式处理运行级别。(事实上,解决方案的另一部分可能是告诉 init 启动到运行级别 5,而不是运行级别 2/3,具体取决于发行版)

相关内容