Ubuntu 22.04 不登录或锁屏时不能远程连接图形界面

SSH远程登录:

ssh服务搭建

# 安装ssh服务:

sudo apt-get install ssh

# 启动SSH服务:

sudo /etc/init.d/ssh start

# 开机自启

sudo systemctl enable ssh

#客户端连接

ssh usename@remote host IP

图形远程登录:

ubuntu 在用户级别下创建了一个远程桌面服务,具体文件是 /usr/lib/systemd/user/gnome-remote-desktop.service。这个服务开机是不会自动启动的,需要开机后首次进行登录才会启动,此时才可以进行远程桌面连接。

但是 ubuntu 在锁屏的时候为了安全,锁屏时会断开远程桌面连接,并且没有提供在锁屏时也可以远程桌面的功能。所以此时需要通过安装扩展来进行配置:

$ sudo apt install gnome-shell-extension-manager

安装 gnome 的扩展管理器后打开,并在 browser 页里搜索 allow locked remoted desktop,点击进行安装即可。注意,这里如果配置了代理,可能出现闪退的情况。

此时在ubuntu gnom3开机初次登录,锁屏后可通过VNC登录;但在开机初次不登录情况下仍无法远程登录界面。

在Ubuntu系统中,要实现未登录情况下启动远程桌面,你需要配置VNC服务器。以下是配置VNC服务器的步骤:

安装VNC服务器软件:

sudo apt-update
sudo apt-get install tightvncserver

设置VNC密码:

vncpasswd
  1. 创建一个新的VNC服务脚本或者修改现有的启动脚本。例如,创建一个新的系统启动脚本:

sudo nano /etc/init/tightvnc.conf
  1. 在tightvnc.conf文件中添加以下内容:

start on login-session-start

stop on login-session-end

script

export USER="ubuntu" # 替换为你的用户名

export HOME="/home/ubuntu" # 替换为你的用户主目录

tightvncserver -geometry 1280x1024 :1 -depth 24 -password /home/ubuntu/.vnc/passwd

end script

  1. 保存文件并重新启动系统,以使更改生效。

现在,当系统启动时,即使没有用户登录,VNC服务也会自动启动。你可以使用VNC客户端(如TightVNC Viewer或RealVNC Viewer)连接到Ubuntu服务器,无需实际登录到图形桌面环境。

上述操作后Ubuntu系统未登录情况下仍无法启动远程桌面。

Linux 系统上两种常用的图形显示服务器协议,Xorg 和 Wayland。

Xorg 是传统的图形显示服务器,它是 X Window 系统的实现之一,也是最常用的版本。Wayland是一种新的图形显示服务器协议,旨在取代 Xorg,并解决 Xorg 中存在的一些问题。Ubuntu17开始引入Wayland,Ubuntu 默认情况下使用 Wayland 作为其图形显示服务器,但用户仍然可以选择在登录时使用 Xorg。 在 Wayland中,每个应用程序都有自己的窗口管理器,这些窗口管理器直接与硬件交互,而不是通过中间的显示服务器(如Xorg)。这种设计使得在远程桌面环境中难以捕获和传输图形数据。此外,Wayland的安全性模型要求严格的权限控制,远程访问会涉及到跨越这些权限边界的问题。

前Wayland对远程桌面支持不好,VNC和向日葵不支持Wayland协议,我目前也没有找到好用的适配Wayland协议的远程桌面软件,所以想用VNC和向日葵,只有切回Xorg。

$ sudo vim /etc/gdm3/custom.conf

将#WaylandEnable=flase解注释

$ sudo systemctl restart gdm3

在服务器安装了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

nano /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

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

上述操作后在未登录ubuntu情况下,可通过window自带远程桌面连接(mstsc)远程连接,MobaXtermRealVNC Viewer仍无法连接;初次登录后MobaXtermRealVNC Viewer可连接;

切换回gnome3:

sudo dpkg-reconfigure gdm3

参考:

Ubuntu22.04远程桌面配置(RDP,VNC)

https://www.cnblogs.com/xxllx/p/17730861.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值