本人研三,材料科学与工程专业学生,众所周知“生化环材”四大天坑,就业窘境知乎一搜全是劝退,看了害怕。碰巧这两年芯片行业飞速发展,穷则思变,在了解到数字IC验证也许会容纳非科班学生后想要尝试转行,在看了一些教学视频后,了解到芯片验证离不开实践,于是想要搭建一个环境用于自己学习。过往了解过阿里云,于是直接上官网,准备购买服务器,恰巧有学生优惠,完成任务增2个月时长,希望这种活动多多益善hhh,方便我们这些小白。通过两天的摸索,走了很多弯路,终于初步搭建好了VNC远程桌面,完成soc环境搭建第一步。
这部分主要介绍配置ECS,使其能通过VNC远程访问。
首先在云盘配置时候选择Ubuntu系统,当然也可以选择其他。
这是我创建完的实例,记住红线部分的公有ip。创建完实例后需要重新配置密码,然后通过网页远程登陆检查下能不能登陆,对于这些阿里云网页上有介绍,如果找不到可以在网上搜下资料。接下来我们要配置服务器,使其能够通过VNC访问。
本地VNC客户端
本地主要需要一个VNC客户端,用来远程连接服务器端的VNC(在不安装Web版本VNC情况下)。VNC客户端下载地址:
大家根据自己需要下载对应版本的VNCViewer。
远程连接服务器
主要有两种方法远程登录到服务器:
方法一:使用阿里云自带Workbench远程连接
依次点击云服务器ECS>实例>实例详情
首先,点击重置实例密码,后面登录需要使用到,然后点击远程连接,选择第一项Workbench远程连接
,验证登录。
方法二:使用putty远程登录(建议)
首先,在电脑上下载安装putty。配置putty如下,Session里面红色圈出来的填你的公有ip。
Connection>SSH>Tunnels里面填你VNC要访问的端口号这里我选了5901,公有IP大家填自己的(:记得要填英文的:),然后点击Add
填写session名字保存设置
然后点击open,验证账号:
安装可视化桌面
本文使用阿里云的ubuntu发行版本,使用的是root用户
在您的Ubuntu服务器上,运行以下命令以更新软件包列表:
sudo apt-get update
然后,让我们安装XFCE桌面环境:
sudo apt-get install xfce4 xfce4-goodies
之后,我们选择_y_后,进行安装。因为需要载入的依赖包比较多,我们需要耐心等待,安装好后,我们重启服务器,通过阿里云自带的控件,在远程联机里可以网页端VNC访问桌面环境
但是每次都要浏览器登录阿里云,且进入阿里云后台进行网页操作,过于麻烦,所以我们继续安装VNC Server。
安装tightvncserver
接下来,我们安装tightvncserver。安装好后,就可以使用客户端VNC连接服务器了。回到SSH控制台,输入:
sudo apt-get install tightvncserver
安装完成 VNC 服务器的初始配置后,使用 vncserver 命令设置安全密码并创建初始配置文件:
vncserver
由于我们是在安装后第一次启动服务器,它将要求我们设置客户端用来连接的密码。它还将要求设置仅查看密码,建议输入n,该密码将允许用户查看屏幕但不能与其交互。
请注意,密码长度在6到8个字符之间。如果输入较长的密码,它将被自动删节。
如果要更改VNC服务器的密码,请运行:
vncpasswd
首次启动VNC服务器实例时,将创建初始配置文件:“〜/ .vnc / xstartup”,并且VNC服务器侦听端口5901。我们将此端口称为显示端口。注意上面输出中主机名之后的 :1 。这表示运行 vnc 服务器的显示端口号。在我们的例子中,服务器在 TCP 端口 5901 (5900 + 1)上运行。如果您创建第二个实例, vncserver 它将在下一个空闲端口上运行,即 :2 这意味着服务器正在端口 5902 (5900 + 2)上运行。
重要的是要记住,当使用 VNC 服务器时, :X 是一个引用的显示端口 5900+X 。
必须将VNC服务器配置为与Ubuntu服务器启动一起运行。此外,您必须明确指出VNC服务器将连接到哪个桌面环境。
首先,让我们停止当前在TCP端口5901上运行的VNC服务器实例:
vncserver -kill :1
然后请创建以下文件 〜/.vnc/xstartup:
vi ~/.vnc/xstartup
现在,使用您喜欢的编辑器修改“xstartup”文件,如下所示:
#!/bin/sh
xrdb $HOME/.Xresources
startxfce4 &
xsetroot -solid grey
#x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
# Fix to make GNOME work
export XKL_XMODMAP_DISABLE=1
/etc/X11/Xsession
~
主要添加startxfce4 &,根据你安装的可视化桌面类型不一样而改动,网上教程各不一样,保存并关闭文件。
使用vnc指令重启服务
vncserver
将VNC服务器设置为systemd服务
ps:这个配置文件网上的问题很多,很多的大家参照了根本运行不了,很多参数要根据自己的环境变量来
为了将VNC作为系统服务运行,随机启动,让我们在Ubuntu服务器上的目录“/etc/systemd/system/”中创建一个名为“ vncserver @ .service” 的新文件:
sudo vim /etc/systemd/system/vncserver@.service
打开文本编辑器,将以下配置复制并粘贴到其中。请务必更改第6行中的用户名以匹配您的用户名,这边我用的是root,如果大家不是用的root用户名要做相应修改,后面PIDFile里root可能也要修改,请多尝试。
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=simple
User=root
PAMName=login
PIDFile=/root/.vnc/%H:%i.pid
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver :%i -geometry 1920x1080
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
保存并关闭文件。
通知 systemd 我们创建了一个新的单元文件:
sudo systemctl daemon-reload
启用服务
sudo systemctl enable vncserver@1.service
其中:
@ 1.service:第一个显示器与端口5901关联。
输出:
Created symlink /etc/systemd/system/multi-user.target.wants/vncserver@1.service → /etc/systemd/system/vncserver@.service.
kill正在运行的实例:
vncserver -kill :1
输出:Killing Xtightvnc process ID XXXX
然后再次启动该systemd服务:
sudo systemctl start vncserver@1
现在,您可以验证服务是否正常运行:
sudo systemctl status vncserver@1
客户端VNC连接服务器
我们下载了win版本的客户端VNC,打开VNC客户端点击File>New Connection,在红圈位置输入:你的公有IP:5901,值得注意的是如果你VNC服务为:2,则相应端口为5900+2即5902:
默认VNC使用5901端口,所以连接前,记得放行端口
点击Continue,然后验证密码即可
设置桌面语言与安装浏览器
默认情况下,Linux是没有中文语言包的。我们需要手动下载语言包并配置。
sudo apt-get install ttf-wqy-zenhei
之后,我们设置系统的语言:
sudo dpkg-reconfigure locales
方向键找到中文后,按空格:
之后再回车确认,然后选择中文:
之后重启服务器
sudo reboot
本地连接,就可以发现:
安装Chrome浏览器
Chrome浏览器安装其实很简单,在SSH交互界面操作即可
mkdir temp
cd temp
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome-stable_current_amd64.deb; sudo apt-get -f install
大家依次输入即可,后续可通过cd命令退出文件夹编辑
cd ..
如果你是Root用户开启的VNC,安装好后,Chrome浏览器和Chromium浏览器无法打开。所以,我们需要添加一些参数。打开应用文件夹内:如:/usr/share/applications,右键属性,添加-no-sandbox参数:
之后,浏览器即可打开
Tips
送给跟我一样的小白
linux vi/vim命令:www.runoob.com/linux/linux-vim.html
linux nano命令:www.cnblogs.com/haichuan3000/artices/2125943.html
参考与致谢
https://mintimate.cn/
https://www.linuxidc.com/Linux/2019-08/159849.htm
https://www.cnblogs.com/a5idc/p/13539969.html