Ubuntu配置VNC远程桌面连接Windows电脑
- 参考指南
- 考虑安装
xrdp,通过sudo apt-get install xrdp安装 - 安装好之后再安装
deconf-editor,也就是sudo apt-get install dconf-editor安装 - 在
deconf-editor中关闭org-gnome-desktop-remote-access下面的requlre-encryption即可 - 安装好之后配置vnc服务的开机自启动
- 参考这篇博客
- https://blog.csdn.net/qq_40723748/article/details/120013808
- 主要就是要在
/etc/systemd/user目录下创建一个systemd服务文件, 命名为user-defined.service - 这个文件具有固定的格式,如下
[Unit] |
- 其中将
username和usershell替换为自己的用户名和新建的脚本 - 自己新建的脚本的第一行一定要注意带有
#!/bin/bash - 这个脚本启动过程中出错的话是不会报错的,比较难debug
- 然后使用
sudo chmod赋予自己新建的.sh文件和user-defined.service权限
sudo chmod 744 ~/test.sh |
- 然后调用以下两行刷新系统服务
sudo systemctl daemon-reload |
- 如果上述方法不行的话采用这篇博客的内容博客
- 将service文件创建到
/etc/systemd/system/user-defined.service - 然后开启服务直接
sudo systemctl enable user-defined.service即可,避免报错 - 该服务不可以简单的用系统的Service跟随Network启动,因为此时桌面还没有启动,会导致VNC找不到用户界面而启动失败
使用/etc/init/<文件名>.conf
- 参考
然后使用windows自带的远程桌面连接,在系统没有登陆的前提下进行远程桌面,否则会黑屏

此处保持设置不变,输入linux的用户名和密码
注意,假如卡顿的话可以修改设置为
点击最下的显示选项,点击体验,修改为LAN,会变流畅一些

sudo reboot之后远程主机不需要登陆直接链接即可


如果Ubuntu没有自带VNC远程桌面
Ubuntu端
- 参考
- 安装x11vnc
sudo apt-get install x11vnc - 然后设置密码
x11vnc -storepasswd - 将其保存到
~/.vnc/passwd之后即可 - 给予文件
~/.vnc/passwd全部权限(777)即可不需要sudo也可以使用x11vnc的密码 - 参考
Windows端
- VNCViewer官网下载软件 此处
- 找到对应的端口链接即可
- 解决部分Windows防火墙导致的904问题参考
sudo不需要密码
- 参考
Linux执行一次性任务和循环任务
- 一次性任务参考
at - 循环任务使用
cron - 参考
- cron参考
- at参考
- 查看Linux的任务(service):
- at非交互式添加任务参考
echo "需要执行的shell命令" | at 时间- 一个可能的思路:
- 在
user-defined.service中执行一个shell脚本(注意第一行必须是#!/bin/bash) ,这个脚本执行一个非交互式向at添加命令的语句(带有一定的延迟),但是这种方法可能并不成功,因为at的时间有一些问题 - 之所以不直接把这句话放在service里执行是可能会影响
echo的解析导致不能正确执行 - 总之不建议在service里直接执行脚本
- 在
- 但是x11vnc似乎并不支持开机自带启动,否则会导致权限问题(即使密码文件已经给了777权限
- 修改参考
- 验证是否启动的方法
- 参考
- 查看依赖关系
systemctl list-dependencies multi-user.target