簡(jiǎn)介:本文主要介紹ubuntu20.04容器中搭建xfce遠(yuǎn)程桌面、C++、Go環(huán)境、容器內(nèi)docker操作配置、zsh配置
?
?一、創(chuàng)建容器
1、創(chuàng)建容器
docker pull?ubuntu:20.04
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
2、進(jìn)入容器
docker exec -it?my-desktop /bin/bash
?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-413480.html
二、創(chuàng)建普通用戶(hù)
1、更新apt源以及sudo
apt update && apt install -y sudo
2、創(chuàng)建用戶(hù)
adduser limstorm
3、賦予用戶(hù)sudo權(quán)限
usermod -aG sudo limstorm
4、切換為limstorm用戶(hù)
su limstorm
5、設(shè)置root用戶(hù)密碼,ABCD#1234
sudo passwd root
6、安裝vim并更換apt源為阿里源
sudo apt install vim && sudo vim /etc/apt/sources.list
```
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
```
7、更新apt源
sudo apt update
?
三、安裝xfce桌面環(huán)境,并安裝tigervnc, 使用普通用戶(hù)
1、安裝xfce以及tigervnc,選擇gdm3啟動(dòng)器
sudo apt install xfce4 tigervnc-standalone-server
中間依次輸入:6、10、18、30、1、1
2、啟動(dòng)dbus service(xfce4啟動(dòng)需連接dbus)
sudo service dbus start
3、設(shè)置vnc密碼,ABCD#1234
vncpasswd
中間依次輸入:密碼、密碼、n
4、配置vnc xstartup
vim ~/.vnc/xstartup
```
#!/bin/sh
xsetroot -solid grey
startxfce4 &
```
5、啟動(dòng)vncserver,不需要設(shè)置geometry,默認(rèn)會(huì)自動(dòng)調(diào)整;:1表示第一個(gè)窗口,其端口號(hào)為5901(5900+1)
vncserver -localhost no :1
6、tigervncviewer連接,連接地址使用DockerIP:5901或者宿主機(jī)IP:映射端口
下載地址:https://sourceforge.net/projects/tigervnc/files/stable/1.13.1/,根據(jù)所需下載不同系統(tǒng)版本
7、停止vncserver
vncserver -kill :1
Q&A:
1、打開(kāi)終端報(bào)錯(cuò):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即可,重新打開(kāi)終端正常執(zhí)行
2、打開(kāi)瀏覽器報(bào)錯(cuò):failed to execute default Web Browser
解決辦法:
(1)安裝火狐瀏覽器:sudo apt install firefox
(2)依照終端一樣的操作,選擇firefox瀏覽器為默認(rèn)瀏覽器,chrome、edge瀏覽器啟動(dòng)時(shí),添加--disable-dev-shm-usage參數(shù),否則極易崩潰宕機(jī)
?
?
四、Docker以及docker-compose安裝
1、安裝docker.io以及docker-compose
sudo apt install docker.io docker-compose
2、普通用戶(hù)直接運(yùn)行docker
sudo gpasswd -a useradmin docker # useradmin是普通用戶(hù)示例, 需要替換為自己的用戶(hù)名
newgrp docker # 更新docker用戶(hù)組
sudo chmod -R 777 /var/run/docker.sock
?
五、中文語(yǔ)言包安裝
1、安裝中文語(yǔ)言包
sudo apt-get install language-pack-zh-han*
2、安裝ibus拼音
sudo apt-get install ibus ibus-pinyin # 安裝ibus拼音
3、設(shè)置中文語(yǔ)言以及中文輸入法
(1)配置中文語(yǔ)言:
Applications - Setttings - Language Support - Install/Remove Languages - 選擇English和Chinese(simplified) - Apply,input method選擇IBus,然后Apply System-Wide,close
(2)配置ibus輸入法
sudo apt-get install ibus ibus-pinyin # 安裝ibus拼音
Applications - Setttings - IBus Preferences - Input Method - Add - Chinese-Pinyin - Add - Close
(3)啟動(dòng)ibus-daemon
nohup ibus-daemon --xim &
(4)登陸自動(dòng)啟動(dòng)ibus輸入法
Applications - Setttings - Session and Startup - Application Autostart - Add - Name: ibus; Description: The ibus input-method; Command: ibus-daemon --xim; Trigger:on login - OK - Close
?
?
六、編譯環(huán)境安裝
1、C++及python等環(huán)境配置
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
2、Go環(huán)境配置
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
3、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
4、環(huán)境變量配置
vim /etc/profile
```
export NODE_HOME=/usr/local/node
export GOPATH=/home/limstorm/gowork/
export PATH=$NODE_HOME/bin:$PATH:/usr/local/go/bin
```
vim ~/.bashrc
```
source /etc/profile
```
5、安裝yarn
npm install -g yarn
如果連接超時(shí),可以設(shè)置npm為淘寶源:
npm config set registry https://registry.npm.taobao.org
6、安裝cpplint
pip install cpplint
?
七、zsh安裝
1、安裝zsh
sudo apt install zsh
chsh -s /bin/zsh #將zsh設(shè)置成默認(rèn)shell(不設(shè)置的話(huà)啟動(dòng)zsh只有直接zsh命令即可)
2、安裝oh-my-zsh
sh -c "$(curl -fsSL https://gitee.com/shmhlsy/oh-my-zsh-install.sh/raw/master/install.sh)" #國(guó)內(nèi)鏡像源
3、安裝插件
#zsh-autosuggestions 命令行命令鍵入時(shí)的歷史命令建議
git clone https://gitee.com/renkx/zsh-autosuggestions.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
#zsh-syntax-highlighting 命令行語(yǔ)法高亮插件
git clone https://gitee.com/Annihilater/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
4、配置文件~/.zshrc
```
#防止中文亂碼
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
ZSH_THEME="robbyrussell"
# 配置要使用的插件
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
```
5、安裝powerlevel10k主題
git clone https://gitee.com/wangl-cc/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k
vim ~/.zshrc #將robbyrussell替換為powerlevel10k/powerlevel10k
zsh #切換到zsh進(jìn)行p10k的自定義配置,也可使用p10k configure進(jìn)行配置
?
八、終端字體設(shè)置Nerd Font
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、設(shè)置terminal字體
Edit - Preferences - Appearence - Font - Hack Nerd Font Regular + 13 - Close
5、設(shè)置terminal默認(rèn)編碼
Edit - Preferences - Advanced - Encoding - Unicode - UTF-8
6、重新打開(kāi)終端即可
?
九、ssh安裝
1、limstorm用戶(hù)
(1)安裝openssh-server
sudo apt install openssh-server
(2)設(shè)置limstorm用戶(hù)登陸密碼
passwd limstorm
(3)啟動(dòng)ssh服務(wù),默認(rèn)禁止root用戶(hù)訪問(wèn)
sudo service ssh restart
(4)docker外連接容器
ssh limstorm@宿主機(jī)IP -p宿主機(jī)映射端口
ssh limstorm@容器IP -p22
以上兩種方式均可
2、root用戶(hù)
(1)安裝openssh-server
apt install openssh-server
(2)設(shè)置當(dāng)前用戶(hù)登陸密碼
passwd root
(3)修改配置文件
vim /etc/ssh/sshd_config
將PermitRootLogin prohibit-password修改為PermitRootLogin yes
(4)啟動(dòng)ssh服務(wù)
service ssh restart
(5)docker外連接容器
ssh root@宿主機(jī)IP -p宿主機(jī)映射端口
ssh root@容器IP -p22
以上兩種方式均可
?
?
十、ssh開(kāi)啟X11轉(zhuǎn)發(fā)
1、ssh服務(wù)器端(XServer客戶(hù)端)
sudo vim /etc/ssh/sshd_config
```
#?AddressFamily any
AddressFamily inet:q
```
其他配置保持不變,重啟ssh
sudo service ssh restart
2、ssh客戶(hù)端(Windows)
推薦使用MobaXterm,自帶XServer、Xorg,而且性能很好
3、ssh客戶(hù)端(Linux)
直接使用ssh -X
ssh -XC limstorm@192.168.12.1 -p22666??# -C表示開(kāi)啟壓縮,在帶寬滿(mǎn)足的情況下不要開(kāi)啟壓縮,僅使用-X即可
4、MobaXterm或ssh連接后,GUI打開(kāi)方式
連接SSH之后,在shell命令中直接啟動(dòng)GUI程序,例如:
/usr/bin/xfce4-terminal
Q&A:
問(wèn)題1:ssh -X啟動(dòng)的GUI程序中無(wú)法輸入中文
解決辦法:在ssh啟動(dòng)GUI程序之前,先啟動(dòng)ibus-deamon,命令如下:
ibus-daemon --xim &
然后啟動(dòng)GUI程序就可以使用中文輸入法了
?
?
?
十一、制作鏡像,導(dǎo)出鏡像文件
docker commit?my-desktop ubuntu-20-04-desktop:3.0? #commit容器
docker save -o ubuntu-20-04-desktop-3.0.tar ubuntu-20-04-desktop:3.0 #導(dǎo)出鏡像文件
docker load -i?ubuntu-20-04-desktop-3.0.tar #導(dǎo)入鏡像文件
?
十二、使用方式
1、創(chuàng)建docker network[可忽略]
docker network create?network-local
2、創(chuàng)建容器
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
3、進(jìn)入容器
docker exec -it?my-desktop /bin/bash
4、切換用戶(hù)
su limstorm
5、啟動(dòng)vncserver
sudo service dbus start
vncserver -localhost no :1
6、啟動(dòng)ssh
sudo service ssh start
7、即可vncviewer或者ssh遠(yuǎn)程連接
在寬帶延遲比較低,而且是win環(huán)境推薦使用MobaTerm X11轉(zhuǎn)發(fā);如果寬帶延遲稍高且是linux環(huán)境,推薦VNC方式文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-413480.html
?
到了這里,關(guān)于Ubuntu20.04 Docker搭建遠(yuǎn)程xfce桌面以及ssh教程的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!