我曾经与一家初创公司合作过,他们有一个很棒的设置,他们有一个无头服务器,可以启动并启动所有内容,而无需登录或 GUI。然后您可以通过 VNC 连接到其中一个服务器虚拟机,该服务器会自动启动。
我想要类似的东西,但我不需要虚拟机。理想的设置是一台无头服务器,它会自动启动我的应用程序,然后我可以让用户通过 SSH 隧道 VNC 进入它,并在他们的远程机器上获得 GUI,以便能够查看和使用这些应用程序。如果我需要使用虚拟机或其他容器应用程序,那也不是世界末日……但我试图让服务器尽可能简单。在我看来,我应该能够强制服务器保持无头状态,直到用户远程登录它,但我不知道如何做到这一点,我在 Google 上找不到任何有用的东西。
现在,我找不到一种方法来设置 VNC,而服务器又不进入“GUI 模式”,然后它不让我通过 SSH 进入,直到我本地登录到服务器,这样它才能启动启动程序,这是不可接受的,每次服务器重新启动或断电时,我都无法本地登录到服务器。我真的不喜欢自动登录的想法,因为我不打算把机器放在家里,也不希望服务器在“外出”时登录。非常感谢任何帮助、链接、文章、想法和意见!
答案1
在我看来,如果不登录本地控制台或 GUI,就无法ssh
进入无头服务器,这是一个主要问题,应该作为一个单独的问题来处理。如果您加密主文件夹,则无需额外步骤即可使用密钥文件。密码登录应该仍然有效。
至于其余部分,从启动时使用 VNC 获取无头服务器:
- 安装所选的基本 GUI
- 启动时禁用 GUI
sudo systemctl set-default multi-user.target
- 安装选择的 vnc 服务器
vnc4server
是默认的吗?tightvncserver
tigervnc-standalone-server
- ETC
- 选择您的 VNC GUI
- 如果需要,可以使用 Gnome 或 KDE
- 较低资源占用的 GUI(例如 fluxbox、openbox、xfce)可能更可取。
- 配置你的
~/.vnc/xstartup
GUI/Session 和任何所需的应用程序- 您选择的 GUI/会话可能会提供各种其他启动应用程序选项。
- FluxBox 使用
~/.fluxbox/startup
- Gnome、Cinnamon、Mate 等使用
Startup Application
菜单项
- 使用 Cron 在启动时启动 VNC 会话
crontab -e
@reboot vncserver :1 -geometry 1920x1080
:1
在显示器或端口上启动一个5901
- 您应该能够使用
:0
哪个端口5900
- 添加
-geometry WIDTHxHEIGHT
您可能使用的设备的其他条目。我认为最多可以有 8 个vnc4server
? - 您可以使用
xrandr -d :1 -s WIDTHxHEIGHT
来切换分辨率。
- 您应该能够使用