远控无屏幕ubuntu20.04(tightvnc+gnome)
背景
我们要开发一款对算力有一定要求的机器人时,经常会用微型电脑作为机器人的工控机,一般使用的操作系统是内核为linux的ubuntu。那么我们平常在使用自己的电脑时都要接显示屏、键盘、鼠标来进行操作,但是对于可以移动的机器人来说,在工控机上接显示屏、键盘、鼠标就太累赘了,会影响调试的效率。那么我们就要用自己的电脑来远程控制工控机,且一般是没有屏幕的工控机。本文基于此背景进行学习。
VNC介绍
VNC(Virtual Network Computing)是一种使用RFB协议的桌面共享及远端操作软件,可通过计算机网络传送键盘与鼠标的动作及实时的屏幕画面。VNC是一种C/S结构的远程控制软件,其Server端一般安装在需要控制的服务器或计算机上,Client端安装在用户自己的电脑上。用户通过客户端(Viewer)连接到服务器(Server)上,服务器就会将其屏幕显示画面实时的传送到客户端,在客户端浏览器上显示远程屏幕画面。用户还可以通过客户端将本地键盘和鼠标事件发送到远端的服务器上,服务器通过执行接收到的事件和命令完成指定的任务,并通过屏幕画面实时返回结果,就像在Windows远程桌面或QQ的远程协助中看到的那样。
被控机vnc server配置
安装tightvncserver
sudo apt install tightvncserver
提高xstartup的权限,这样开启vncserver时可以顺利执行xstartup
sudo chmod +x ~/.vnc/xstartup
开启一个新的vncserver:
vncserver :1 #:2
这时连接可能显示的界面是全灰的:
我们需要开启gnome桌面应用。
先关闭已打开的vncserver:
vncserver -kill :1 #:2
安装gnome桌面:ubuntu完全安装gnome桌面及应用 – 愤怒的企鹅 – 博客园
更新一些必要的软件:
sudo apt-get install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal
修改xstartup文件为以下内容:
#!/bin/bash
export $(dbus-launch) # 主要是这句
export XKL_XMODMAP_DISABLE=1
unset SESSION_MANAGER
gnome-panel &
gnome-settings-daemon &
metacity &
nautilus &
gnome-terminal &
# [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
# [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
gnome-session &
这时再重新打开一个vncserver,连接后就可以显示终端以及应用等。
被控机vnc server开机自启动
新建开机启动脚本,并赋予可执行权限
sudo gedit /etc/init.d/tightvncserver
sudo chmod +x /etc/init.d/tightvncserver
将创建的tightvncserver文件内容改为如下:(将USER改为自己被控机的用户名)
#!/bin/sh
### BEGIN INIT INFO
# Provides: tightvncserver
# Required-Start: $local_fs
# Required-Stop: $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start/stop tightvncserver
### END INIT INFO
# More details see:
# http://www.penguintutor.com/linux/tightvnc
### Customize this entry
# Set the USER variable to the name of the user to start tightvncserver under
export USER='navi4'
### End customization required
eval cd ~$USER
case "$1" in
start)
# 启动命令行。此处自定义分辨率、控制台号码或其它参数。
su $USER -c '/usr/bin/tightvncserver -depth 16 -geometry 2000x1000 -dpi 100 :1'
echo "Starting TightVNC server for $USER "
;;
stop)
# 终止命令行。此处控制台号码与启动一致。
su $USER -c '/usr/bin/tightvncserver -kill :1'
echo "Tightvncserver stopped"
;;
*)
echo "Usage: /etc/init.d/tightvncserver {start|stop}"
exit 1
;;
esac
exit 0
保存后再执行:
sudo update-rc.d /etc/init.d/tightvncserver defaults
然后可以重启被控机,连接正常
主控机vnc viewer配置
主控机下载tightvnc:Download TightVNC
打开tightvnc viewer:
输入被控机桌面名称:(如下图,此机名称为dyh-NUC7i5BNH:2)
然后连接,输入密码即可:
如果感觉屏幕太小,可以修改分辨率:
vncserver :2 -geometry 1920x1000
如果感觉屏幕太小,可以修改分辨率:
vncserver :2 -geometry 1920x1000
今天的文章ubuntu远程桌面vnc_ubuntu能用安卓软件吗分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/82925.html