自启动脚本
一开始使用sh脚本,然后将其设置为开机自启动。然而发现在shell脚本里直接执行vncserver这类命令,并不能正常开启,手动执行sh文件也不行,开机自启动更不用说了。具体原因没有深入探究,并没有证明这种方法不可行。
换用下面这个博客的方法,是可以的。
配置vnc树莓派开机自启动/liu-ai-yu/p/14743765.html大体上是按照这个配置的开机自启动
设置后就不用每次开机都要重新开启vnc了
首先
vim /etc/init.d/vnc4server
将下面的文字复制保存进去,有些地方要根据自己的情况修改
#!/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:# /linux/tightvnc### Customize this entry# Set the USER variable to the name of the user to start tightvncserver underexport USER='XXX'#上边要换成自己的用户名 ### End customization requiredeval cd ~$USERcase "$1" instart)su $USER -c 'vncserver -geometry 1280x800 -alwaysshared :1'echo "Starting VNC server for $USER ";;stop)# 1920和1080换成自己屏幕的分辨率 su $USER -c '/usr/bin/vncserver -kill :1'echo "vncserver stopped";;*)echo "Usage: /etc/init.d/vncserver {start|stop}"exit 1;;esacexit 0
最后
sudo chmod 755 /etc/init.d/vnc4serversudo update-rc.d vnc4server defaults
重启,以后每次只要打开树莓派等待一会就可以直接在主机上vnc连接树莓派了,
vnc的前期配置
选取轻量化的桌面xfce,大体是和下面这篇博客一致。
Linux无显示器vnc server部署方案/p/40477905其中配置自启动前,是按这个方法进行的。确保了手动开启vncserver,在另一台主机上的vncviewer能够正常登录并显示。
安装:
sudo apt-get install vnc4server xfce4
安装好之后,用 vncpasswd 来配置一下vnc的登录密码
启动vnc server命令:
vncserver -geometry 1280x800 -alwaysshared :1
来启动一个1280x800的桌面,所有登录用户共享一个桌面,桌面号码为1.
这样子启动之后,客户端连接,只会看到一个灰灰的画面,因为现在还没有启动一个配套的桌面session。
用 vncserver -kill :1 来关闭1号桌面。
现在要修改vnc的启动脚本,这是重点:
cd .vncvi xstartup
我的脚本修改后内容如下:
#!/bin/sh# Uncomment the following two lines for normal desktop:#unset SESSION_MANAGER#exec /etc/X11/xinit/xinitrc#[ -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" &#x-window-manager &unset SESSION_MANAGERunset DBUS_SESSION_BUS_ADDRESS[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresourcesvncconfig -iconic &xfce4-session &
关于vnc的启动与HDMI显示器的连接
另外,不接HDMI显示器,可以正常使用vncviewer进行远程操作。
但是自启动脚本里,关于打开新终端并执行ros节点启动的命令不能被成功执行,估计是因为脚本中的语句gnome-terminal是和桌面相关的。
接上显示器就可以被执行了。
在不方便接显示器的机器人上,给树莓派接上HDMI欺骗器即可。
vnc使用网线连接 极其流畅
无线网连接,取决于无线网络的好坏。
网线连接,十分流畅,感觉不到任何卡顿,适合静态地调试。