文档维护:Arvin

网页部署:Arvin

写在前面:通过AutoDL平台租赁云服务器,配置环境,远程桌面。

0

vscode远程SSH链接

参考链接:https://www.autodl.com/docs/ssh/

vscode安装插件SSH,添加SSH,输入SSH指令,点击connect,输入密码。

2

然后为remote添加常用的插件。

ros-melodic安装

参考链接:http://www.autolabor.com.cn/book/ROSTutorials/chapter1/12-roskai-fa-gong-ju-an-zhuang/127-zi-65993a-qi-ta-ros-ban-ben-an-zhuang.html

安装源

官方默认安装源:

1
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

或来自国内中科大的安装源

1
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'

或来自国内清华的安装源

1
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'

但是可能会遇到报错

1
sh: 1: lsb_release: not found

解决办法

1
apt-get update && apt-get install -y lsb-release && apt-get clean all

如果显示:

1
2
E: Malformed entry 1 in list file /etc/apt/sources.list.d/ros-latest.list (Component)
E: The list of sources could not be read.

依次执行:

1
2
rm /etc/apt/sources.list.d/ros-latest.list 
apt-get update && apt-get install -y lsb-release && apt-get clean all

设置key

1
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

安装

首先需要更新 apt(以前是 apt-get, 官方建议使用 apt 而非 apt-get),apt 是用于从互联网仓库搜索、安装、升级、卸载软件或操作系统的工具。

1
sudo apt update

等待…

然后,再安装所需类型的 ROS:ROS 多个类型:Desktop-FullDesktopROS-Base。这里介绍较为常用的Desktop-Full(官方推荐)安装: ROS, rqt, rviz, robot-generic libraries, 2D/3D simulators, navigation and 2D/3D perception

1
sudo apt install ros-melodic-desktop-full

在这又会遇到报错

1
2
3
4
5
6
The following packages have unmet dependencies:
ros-melodic-desktop-full : Depends: ros-melodic-desktop but it is not going to be installed
Depends: ros-melodic-perception but it is not going to be installed
Depends: ros-melodic-simulators but it is not going to be installed
Depends: ros-melodic-urdf-sim-tutorial but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

原因:某些依赖安装时冲突了

解决:更换成aptitude安装,因为aptitude相比于apt能更好的解决依赖关系。

1
2
sudo apt-get install aptitude
sudo aptitude install ros-melodic-desktop-full

依次输入上述指令,你会看到询问你降级处理:

输入n,连续输入两次,第三次时输入y即可。

环境设置

配置环境变量,方便在任意 终端中使用 ROS。

1
2
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc

安装构建依赖

首先安装构建依赖的相关工具

1
sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential

然后安装rosdep(可以安装系统依赖)

1
sudo apt install python-rosdep

打开科学上网(要不然后面两步很有可能报错)

1
source /etc/network_turbo

初始化rosdep

1
2
sudo rosdep init
rosdep update

关闭科学上网

1
unset http_proxy && unset https_proxy

远程桌面xfce4

参考链接:https://blog.csdn.net/qq_48819202/article/details/128915093

https://www.autodl.com/docs/gui/

安装xfce4

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//更新一下源
apt-get update
//安装
apt-get install xorg xdm xfce4

//然后安装的时候会遇到以几个信息选择一下
…………
Country of origin for the keyboard: //选择18
…………
…………

Please select the layout matching the keyboard for this machine //选择4
…………
//安装完成

远程桌面

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 安装基本的依赖包
apt update && apt install -y libglu1-mesa-dev mesa-utils xterm xauth x11-xkb-utils xfonts-base xkb-data libxtst6 libxv1

# 安装libjpeg-turbo和turbovnc
export TURBOVNC_VERSION=2.2.5
export LIBJPEG_VERSION=2.0.90
wget http://aivc.ks3-cn-beijing.ksyun.com/packages/libjpeg-turbo/libjpeg-turbo-official_${LIBJPEG_VERSION}_amd64.deb
wget http://aivc.ks3-cn-beijing.ksyun.com/packages/turbovnc/turbovnc_${TURBOVNC_VERSION}_amd64.deb
dpkg -i libjpeg-turbo-official_${LIBJPEG_VERSION}_amd64.deb
dpkg -i turbovnc_${TURBOVNC_VERSION}_amd64.deb
rm -rf *.deb

# 启动VNC服务端,这一步可能涉及vnc密码配置(注意不是实例的账户密码)。另外如果出现报错xauth未找到,那么使用apt install xauth再安装一次
rm -rf /tmp/.X1* # 如果再次启动,删除上一次的临时文件,否则无法正常启动
USER=root /opt/TurboVNC/bin/vncserver :1 -desktop X -auth /root/.Xauthority -geometry 1920x1080 -depth 24 -rfbwait 120000 -rfbauth /root/.vnc/passwd -fp /usr/share/fonts/X11/misc/,/usr/share/fonts -rfbport 6006

# 检查是否启动,如果有vncserver的进程,证明已经启动
ps -ef | grep vnc
  • 设置SSH隧道

参考链接:https://www.autodl.com/docs/ssh_proxy/

1
2
ssh -CNg -L 6006:127.0.0.1:6006 root@connect.westc.gpuhub.com -p 32754
ssh -CNg -L 6006:127.0.0.1:6006 root@connect.westb.seetacloud.com -p 36285

其中root@123.125.240.15042151分别是实例中SSH指令的访问地址与端口,请找到自己实例的ssh指令做相应替换6006:127.0.0.1:6006是指代理实例内6006端口到本地的6006端口。

注意:执行完这条ssh命令,没有任何日志是正常的,只要没有要求重新输入密码或错误退出

Windows下的cmd/powershell如果一直提示密码错误,是因为无法粘贴,手动输入即可(正常不会显示正在输入的密码)

  • 在本地电脑安装vncviewer

https://www.realvnc.com/en/connect/download/viewer/

1
2
sudo dpkg -i VNC-Viewer-6.21.406-Linux-x64.deb
rm -rf *.deb
  • 连接

在终端输入vncviewer启动软件

端口输入

1
127.0.0.1:6006

完成!

可能会遇见黑屏

查看进程

1
ps aux | grep vnc*

杀死进程

1
kill -9 PID

其他配置

Terminator安装

1
2
sudo apt update
sudo apt install terminator