搭建Ubuntu20.04 xfce远程桌面

本文主要介绍如何在服务器搭建Ubuntu20.04的xcfe远程桌面开发环境,并进行远程访问,另外包括C++、Golang、docker等环境安装配置。

在服务器搭建Ubuntu20.04 xcfe桌面

创建Ubuntu20.04容器

首先在服务器上创建Ubuntu20.04容器,如果你的服务器没有安装docker,请按照此教程安装。

#有可能你登录服务器的用户需要sudo权限来执行docker命令,请自行添加
docker pull ubuntu:20.04             #拉取Ubuntu20.04镜像
docker network create network-local  #创建docker网络network-local
docker run -itd --privileged --name=my-desktop --ulimit memlock=-1:-1 \           
--network="network-local" -p 22666:22 -p 5901:5901 \
-v /var/run/docker.sock:/var/run/docker.sock ubuntu:20.04 /bin/bash
# --name 设置Ubuntu容器名
# --ulimit memlock设置不限制容器memlock大小(可选)
# --network 设置容器network
# -p 端口映射,5901用于远程桌面访问
docker exec -it my-desktop /bin/bash  #进入容器

创建普通用户

上一步创建的容器只有root用户,需要创建一个普通用户,避免误操作导致安全性问题。

  1. 安装sudo
apt update && apt install -y sudo
  1. 创建普通用户
adduser username
  1. 赋予用户sudo权限
usermod -aG sudo username
  1. 切换用户
su username
  1. 设置root密码
sudo passwd root
#按照提示输入两遍密码
  1. 换源
#更换apt源,可跳过,若访问默认源速度慢可更换国内源
#列出国内常用的源操作指引:
#清华源:https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/
#中科大源:https://mirrors.ustc.edu.cn/help/ubuntu.html
#网易源:http://mirrors.163.com/.help/ubuntu.html
#阿里源:https://developer.aliyun.com/mirror/ubuntu?spm=a2c6h.13651102.0.0.3e221b11btMe7b

安装配置远程桌面

  1. 安装xcfe、tigervnc
sudo apt install xfce4 tigervnc-standalone-server
#安装过程中需要输入数字选项等进行配置,按需设置
  1. 启动dbus service
# xcfe启动需要
sudo service dbus start
  1. 安装配置SSH服务
sudo apt install -y openssh-server

sudo vim  /etc/ssh/sshd_config
#找到 AddressFamily any 修改为:
AddressFamily inet
#保存退出,重启ssh服务
sudo service ssh restart
  1. 设置VNC密码
vncpasswd
#输入两遍密码以及 n
#此密码后续访问远程桌面需要
  1. VNC配置文件
vim ~/.vnc/xstartup

将以下内容粘贴到新建的配置文件中

#!/bin/sh
xsetroot -solid grey

startxfce4 &
  1. 启动vncserver
vncserver -localhost no :1
#停止服务:vncserver -kill :1
#:1表示第一个窗口,其端口号为5901(5900+1)

到此为止,我们已经成功在服务器中搭建并启动好了远程桌面,接下来提供两类访问远程桌面的方法。

连接远程桌面

使用VNC软件远程访问

本地机器下载tigervncviewer,连接运行在远程服务器docker中的桌面环境,连接地址:dockerIP:5901,或者:服务器IP:5901(这里的5901是docker映射的)。
VNC

使用SSH X11转发

Ubuntu20.04 SSH server设置

  1. 设置用户密码
passwd eric
  1. 重启SSH服务
sudo service ssh restart

SSH客户端(Windows)

推荐使用MobaXterm,自带XServer、Xorg,而且性能很好。如何配置如下:

在这里插入图片描述
连接之后,在shell命令中直接启动GUI程序,例如:/usr/bin/xfce4-terminal

SSH客户端(Linux)

直接使用ssh -X

ssh -XC username@serverIP -p 22666
# -C表示开启压缩,在带宽满足的情况下不要开启压缩,仅使用-X即可
# -p 端口使用的是运行在服务器上的Ubuntu容器22端口的映射端口

然后启动GUI:/usr/bin/xfce4-terminal

OK,现在我们已经能够访问远程桌面了。

环境配置(可选)

  1. 安装docker
sudo apt install -y docker.io docker-compose
#我们启动Ubuntu容器的时候映射了docker sock,使用了服务器的docker服务

设置普通用户直接使用docker命令:

sudo gpasswd -a useradmin docker # useradmin是普通用户示例, 需要替换为自己的用户名
newgrp docker # 更新docker用户组
sudo chmod -R 777 /var/run/docker.sock
  1. C++及Python等的环境配置(按需)
sudo apt install libsnappy-dev zlib1g-dev libbz2-dev liblz4-dev libzstd-dev libgflags-dev git build-essential autoconf gcc g++ ccache libncurses5-dev byacc cmake lcov libprotobuf-dev protobuf-compiler liblz4-dev libreadline-dev libmysqlcppconn-dev libcurl4-openssl-dev libssl-dev gdb valgrind pip libdw-dev zip unzip curl
  1. Golang环境配置
wget https://dl.google.com/go/go1.15.linux-amd64.tar.gz
sudo tar -C /usr/local -xvf go1.15.linux-amd64.tar.gz
rm -rf go1.15.linux-amd64.tar.gz
  1. Node配置
wget https://npm.taobao.org/mirrors/node/v14.19.3/node-v14.19.3-linux-x64.tar.gz
tar -xzvf node-v14.19.3-linux-x64.tar.gz
sudo mv node-v14.19.3-linux-x64 /usr/local/node
rm -rf node-v14.19.3-linux-x64.tar.gz
  1. 环境变量配置
vim /etc/profile 或者 vim ~/.bashrc
#在合适的位置添加:
export NODE_HOME=/usr/local/node
export GOPATH=/home/username/gowork/
export PATH=$NODE_HOME/bin:$PATH:/usr/local/go/bin
#保存退出,source使其生效
  1. 安装Yarn
npm install -g yarn
#如果连接超时,可以设置npm为淘宝源:
npm config set registry https://registry.npm.taobao.org

使用方式

完成配置后可以保存一下镜像,避免后续操作失误损坏环境还要重新配置。

  1. 创建docker network
docker network create network-local
  1. 创建容器
docker run -itd --privileged --name=my-desktop --ulimit memlock=-1:-1 \
--network="network-local" -p 22666:22 -p 5901:5901 \
-v /var/run/docker.sock:/var/run/docker.sock \
ubuntu-20-04-desktop:3.0 /bin/bash
#ubuntu-20-04-desktop:3.0 是自定义的镜像名和版本号
  1. 进入容器
docker exec -it my-desktop /bin/bash
  1. 切换用户
su username
  1. 启动vncserver
sudo service dbus start
vncserver -localhost no :1
  1. 启动ssh
sudo service ssh start
  1. 即可vncviewer或者ssh远程连接
    在宽带延迟比较低,而且是win环境推荐使用MobaTerm X11转发;如果宽带延迟稍高且是linux环境,推荐VNC方式

终端优化(可选)

  1. 安装zsh
sudo apt install zsh
chsh -s /bin/zsh
#将zsh设置成默认shell(不设置的话启动zsh只有直接zsh命令即可)
  1. 安装oh-my-zsh
#最近发现清华镜像站开始提供ohmyzsh镜像啦!
#使用帮助:https://mirrors.tuna.tsinghua.edu.cn/help/ohmyzsh.git/
  1. 安装相关插件
#zsh-autosuggestions 命令行命令键入时的历史命令建议
git clone https://gitee.com/renkx/zsh-autosuggestions.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
#zsh-syntax-highlighting 命令行语法高亮插件
git clone https://gitee.com/Annihilater/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
  1. 安装powerlevel10k主题
git clone https://gitee.com/wangl-cc/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k
  1. 安装字体
1、下载字体

https://www.nerdfonts.com/font-downloads,我选择的是Hack Nerd Font

2、解压到字体目录

sudo unzip Hack.zip -d /usr/share/fonts/

3、刷新字体缓冲

sudo fc-cache -fv

4、设置terminal字体(需远程桌面访问图形界面)

Edit - Preferences - Appearence - Font - Hack Nerd Font Regular + 13 - Close

5、设置terminal默认编码(需远程桌面访问图形界面)

Edit - Preferences - Advanced - Encoding - Unicode - UTF-8
  1. 修改配置文件
vim ~/.zshrc

#防止中文乱码
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8

ZSH_THEME="powerlevel10k/powerlevel10k"

# 配置要使用的插件
plugins=(
git
extract
zsh-autosuggestions
zsh-syntax-highlighting
)
source $ZSH/oh-my-zsh.sh
source $ZSH_CUSTOM/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh

source /etc/profile

Q&A

  • ssh -X启动的GUI程序中无法输入中文
    解决办法:在ssh启动GUI程序之前,先启动ibus-deamon,命令如下:
    ibus-daemon --xim &
    
    然后启动GUI程序就可以使用中文输入法了
  • 打开终端报错:failed to execute default Terminal Emulator
    解决办法:
    sudo apt-get install xfce4-terminal && sudo apt purge gnome-terminal
    
    然后Applications - Settings - Perfered Applications - Utilities - Terminal Emulator选择Xfce Terminal即可,重新打开终端正常执行。
  • 打开浏览器报错:failed to execute default Web Browser
    解决办法:
    (1)安装火狐浏览器:
    sudo apt install firefox
    
    (2)依照终端一样的操作,选择firefox浏览器为默认浏览器,chrome、edge不稳定,容易宕机。
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值