远控无屏幕ubuntu20.04(tightvnc+gnome)
远控无屏幕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_MANAGERgnome-panel &
gnome-settings-daemon &
metacity &
nautilus &
gnome-terminal &# [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
# [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresourcesxsetroot -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 requiredeval cd ~$USERcase "$1" instart)# 启动命令行。此处自定义分辨率、控制台号码或其它参数。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
远控无屏幕ubuntu20.04(tightvnc+gnome)相关推荐
- ubuntu20.04之gnome界面优化
一.安装tweak tool 1.介绍: tweak tool帮助用户配置桌面的外观和功能. 2.安装: 第一步:打开终端输入以下命令 sudo apt-get update sudo apt-get ...
- 向日葵企业版无网远控解决方案
一.行业背景 时下越来越多企业的管理者对企业内部的信息安全非常重视,如将单位的财务机.服务器等采用物理隔离手段将外网完全隔绝,还有在网关上架设防火墙设备等技术手段,防止来自互联网的攻击,保证内网财务机 ...
- 尝试manjar20.03、fedora32、ubuntu20.04作为主力操作系统
编写日期:2020年7月23日19点09分 本篇为连载文章 修改日期:2020年8月3日星期一 9:44 首先manjaro是从搜索引擎上搜到友好的linux桌面发行版搜到的,之前就有想要放弃wind ...
- Ubuntu20.04 向日葵无法被远控的解决办法
需要默认使用此插件并且开启显示器后才能正常连接. 安装LightDm:sudo apt install lightdm 启动 LightDM:$ sudo start lightdm. 设置 Ligh ...
- 【锁屏】 Ubuntu20.04 锁屏快捷键无反应的解决方法
[已解决] Ubuntu20.04 锁屏快捷键无反应的解决方法 一开始查找了一下网上的方案,如果下面的命令输出的是false,代表设置正确 gsettings get org.gnome.deskto ...
- Ubuntu20.04安装Nvidia显卡驱动后屏幕不显示的问题
背景: 本来电脑(Ubuntu20.04)插两个显示器,一个插在了VGA口,一个插在了DVI口,都是接的老显示器.公司新腾出一台新显示器,需要插DP口,所以就把VGA口拔掉,插入DP口,保留DVI口. ...
- FPV Camera(RPI3+V2.1) | wfb_ng Release 23.01 | ubuntu20.04 gnome软解测试
@[TOC](FPV Camera(RPI3+V2.1) | wfb_ng Release 23.01 | ubuntu20.04 gnome软解测试) 1. 简介 最近搭建了基于树莓派和wfb_ng ...
- 从零开始做远控 第五篇 屏幕监控
如果你从没看过这系列教程请点击:从零开始做远控 简介篇 屏幕监控: 我们来到进阶课程了,我们这一节主要是讲客户端的,我们将会编写从客户端截取屏幕,然后用JEPG压缩它,最后发给服务端,形成一个动态画面 ...
- ubuntu20.04屏幕亮度无法调节的解决方法->安装 brightness-controller-simple 软件
文章目录 一.问题描述 二.解决方法 参考链接 一.问题描述 安装ubunt20.04.5 之后,调节Ubuntu上方的亮度控制条.按快捷键(Fn+F5.Fn+F6) 都不能实现调节亮度的功能. 二. ...
最新文章
- C语言 复制文件内容粘贴到另一个文件中
- PHP实现四种基本排序算法
- apt-get erro
- 1.11 多于空间维度的向量组
- php熊掌号怎么设置json-ld,dedecms织梦系统怎么对接百度熊掌号并添加JSON_LD数据
- 如何为每个URL连接设置自定义SSLSocketFactory的TrustManager
- vue ---- 生命周期
- jQuery ajax 使用
- qt qtableview 刷新列表_qt中Qtableview的用法
- 【MySQL-关键字】MySQL中的desc什么意思?有哪些作用?
- 个人公众号成长记 - 如何涨粉?
- HTML基础之表单提交
- 教你给大量视频快速调整色调的方法
- VUE3 reactive与toRefs函数
- Python 抓取微信公众号账号信息
- 如何加速播放SWF格式文件——使用Enounce MySpeed轻松实现
- 线特征的LSD提取算法
- 转.CNNIC,我不信任你! ——从“受信任的根证书”里赶走CNNIC
- source命令的作用
- unity3d刀光剑影的制作