ubuntu22.04中用户不登陆桌面启动x11vnc服务的方法

在服务器安装了x11vnc服务,无论是使用systemd服务开机自启动还是使用“启动应用程序”功能,都必需得登陆ubuntu桌面环境,这会给服务安全带来隐患,下面是终极解决方案。

  • 使用systemd服务配合lightdm实现不登陆启动

由于ubuntu默认使用gdm3管理用户登陆,只有用户登陆后系统才会启动显示服务(X DISPLAY / X server),而x11vnc必需运行X server服务后才能被运行成功,所以用户没有登陆桌面系统时x11vnc启动都会报以下类似错误“*** x11vnc was unable to open the X DISPLAY: ":0", it cannot continue.”。所以使用gdm3不登陆执行x11服务比较困难,建议使用lightdm进行登陆管理。步骤如下:

apt install lightdm
##安装lightdm并根据弹出提示选择使用lightdm
vi /lib/systemd/system/x11vnc.service
##创建x11vnc服务配置文件添加以下内容

[Unit]
Description=x11vnc service
After=display-manager.service network.target syslog.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -display :0 -auth '/run/lightdm/root/:0' -forever -rfbauth /home/<your username>/.vnc/passwd -rfbport 5901 -shared -capslock -repeat -nomodtweak -noxdamage
ExecStop=/usr/bin/killall x11vnc
Restart=on-failure
[Install]
WantedBy=multi-user.target

##设置x11vnc开机自启

systemctl enable x11vnc

重启系统后可以使用vnc客户端连接了。

要点提示:安装lightdm后可以看到多了个/run/lightdm/root/:0文件,这应该是提供显示服务的,而gdm3只有用户登陆后才会生成/run/user/1000/gdm/Xauthority文件提供显示服务,所以没登陆也就无法提供显示服务了。

虽然使用lightdm可能实现不登陆自启动x11vnc,但由于lightdm本身是轻量极的,功能没有gdm3强大,如:gnome shell扩展似乎是不能用的,这给系统使用带来不小影响。想要使用ubuntu原生自带的gdm3,继续往下看。

  • 利用虚拟显示器屏蔽服务器显示

想用gdm3又担心服务器自动登陆后的安全问题,可以考虑使用创建虚拟显示器关闭服务器主显示器,这样服务器开机后主机显示器是黑屏,只能通过vnc远程连接操作,提高了服务器安全性。但必需为服务器配置sshd访问,以防vnc服务异常造成无法操作服务器的绝望。

首先,登陆桌面环境,在“启动应用程序”中添加x11vnc服务运行命令,并在用户设置中设置为自动登陆。

##安装虚拟显示服务
apt install xserver-xorg-video-dummy
##配置虚拟显示器
vi /usr/share/X11/xorg.conf.d/xorg.conf
##(也可以替换/etc/X11/xorg.conf这个文件,替换前请先备份该文件。)
##添加以下内容

Section "Monitor"
  Identifier "Monitor1"
  HorizSync 28.0-80.0
  VertRefresh 48.0-75.0
  Modeline "1360x768_60.00" 172.80 1920 2040 2248 2576 1080 1081 1084 1118 -HSync +Vsync
EndSection
Section "Device"
  Identifier "Card1"
  Driver "dummy"
  VideoRam 256000
EndSection
Section "Screen"
  DefaultDepth 24
  Identifier "Screen1"
  Device "Card1"
  Monitor "Monitor1"
  SubSection "Display"
    Depth 24
    Modes "1360x768_60.00"
  EndSubSection
EndSection

重启服务器后系统只能使用vnc客户端连接虚拟显示器操作服务器。

特别提醒:x11vnc暂时不支持wayland,请在登陆时选择"ubuntu Xorg".

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值