简介:本文主要介绍ubuntu20.04容器中搭建xfce远程桌面、C++、Go环境、容器内docker操作配置、

一、创建容器
1、创建容器

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、进入容器
docker exec -it my-desktop /bin/bash

二、创建普通用户
1、更新apt源以及sudo
apt update && apt install -y sudo
2、创建用户
adduser limstorm
3、赋予用户sudo权限
usermod -aG sudo
4、切换为limstorm用户
su limstorm
5、设置root用户密码,Znbase#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

三、安装xface桌面环境,并安装tigervnc, 使用普通用户
1、安装xface以及tigervnc,选择gdm3启动器
sudo apt install xfce4 tigervnc-standalone-server
中间依次输入:6、10、18、30、1、1
2、启动dbus service(xface4启动需连接dbus)
sudo service dbus start
3、设置vnc密码,Znbase#1234
vncpasswd
中间依次输入:密码、密码、n
4、配置vnc xstartup
vim ~/.vnc/xstartup
```
#!/bin/sh
xsetroot -solid grey

startxfce4 &
```
5、启动vncserver,不需要设置geometry,默认会自动调整;:1表示第一个窗口,其端口号为5901(5900+1)
vncserver -localhost no :1
6、tigervncviewer连接,连接地址使用DockerIP:5901或者宿主机IP:映射端口
下载地址:https://sourceforge.net/projects/tigervnc/files/stable/1.13.1/,根据所需下载不同系统版本
7、停止vncserver
vncserver -kill :1

Q&A:
1、打开终端报错: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即可,重新打开终端正常执行
2、打开浏览器报错:failed to execute default Web Browser
解决办法:
(1)安装必要依赖库:sudo apt install firefox
(2)依照终端一样的操作,选择firefox浏览器为默认浏览器,chrome、edge不稳定,容易宕机

四、Docker以及docker-compose安装
1、安装docker.io以及docker-compose
sudo apt install docker.io docker-compose
2、普通用户直接运行docker
sudo gpasswd -a useradmin docker # useradmin是普通用户示例, 需要替换为自己的用户名
newgrp docker # 更新docker用户组
sudo chmod -R 777 /var/run/docker.sock

五、中文语言包安装
1、安装中文语言包
sudo apt-get install language-pack-zh-han*
2、安装ibus拼音
sudo apt-get install ibus ibus-pinyin # 安装ibus拼音
3、设置中文语言以及中文输入法
(1)配置中文语言:
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)启动ibus-daemon
nohup ibus-daemon --xim &
(4)登陆自动启动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

六、编译环境安装
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
2、Go环境配置
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、环境变量配置
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
如果连接超时,可以设置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设置成默认shell(不设置的话启动zsh只有直接zsh命令即可)
2、安装oh-my-zsh
sh -c "$(curl -fsSL https://gitee.com/shmhlsy/oh-my-zsh-install.sh/raw/master/install.sh)" #国内镜像源
3、安装插件
#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
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进行p10k的自定义配置,也可使用p10k configure进行配置

八、终端字体设置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、设置terminal字体
Edit - Preferences - Appearence - Font - Hack Nerd Font Regular + 13 - Close
5、设置terminal默认编码
Edit - Preferences - Advanced - Encoding - Unicode - UTF-8
5、重新打开终端即可

九、ssh安装
1、limstorm用户
(1)安装openssh-server
sudo apt install openssh-server
(2)设置limstorm用户登陆密码
passwd limstorm
(3)启动ssh服务,默认禁止root用户访问
sudo service ssh restart
(4)docker外连接容器
ssh limstorm@宿主机IP -p宿主机映射端口
ssh limstorm@容器IP -p22
以上两种方式均可

2、root用户
(1)安装openssh-server
apt install openssh-server
(2)设置当前用户登陆密码
passwd root
(3)修改配置文件
vim /etc/ssh/sshd_config
将PermitRootLogin prohibit-password修改为PermitRootLogin yes
(4)启动ssh服务
service ssh restart
(5)docker外连接容器
ssh root@宿主机IP -p宿主机映射端口
ssh root@容器IP -p22
以上两种方式均可

十、制作镜像,导出镜像文件

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 #导出镜像文件

docker load -i ubuntu-20-04-desktop-3.0.tar #导入镜像文件

十一、使用方式

1、创建docker network[可忽略]

docker network create network-local
2、创建容器
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、进入容器
docker exec -it my-desktop /bin/bash
4、切换用户
su limstorm
5、启动vncserver
sudo service dbus start
vncserver -localhost no :1
6、启动ssh
sudo service ssh start
7、即可vncviewer或者ssh远程连接

Ubuntu20.04 Docker搭建远程xfce桌面以及ssh教程的更多相关文章

  1. ubuntu 12.04下搭建web服务器(MySQL+PHP+Apache) 教程

    最近,经理让我搭建一个服务器,我从网上找了一篇比较好的教程,按教程一步步执行感觉挺顺利,所以准备整理一下这个教程.尊重原版注明出处:http://news.2ky.cn/Linux/ubuntu-12 ...

  2. ubuntu 16.04下搭建web服务器(MySQL+PHP+Apache) 教程

    1.开始说明 下面很多可能参照网上其中以为前辈的,但有所改进吧.这些设置可能会有所不同,你需要根据不同情况进行修改. 安装apache2 2.切换管理员身份 在ubuntu中需要用root身份进行操作 ...

  3. 从零开始安装搭建win10与ubuntu20.04双系统开发环境——集安装、配置、软件、美化、常见问题等于一体的——超详细教程

    目录 **前言 ** 关于系统安装配置与软件安装 一.Win10安装ubuntu20.04双系统 1.按照自己的需求分区 2.配置软件镜像源 软件包管理工具介绍 更换APT源--使用国内镜像 3.解决 ...

  4. ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(一)

    ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(一) 本教程适用于想要在远程服务器上配置docker图形界面用于深度学习的用户. (一)ubuntu18.04配置n ...

  5. ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(三)

    ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(三) 本教程适用于想要在远程服务器上配置docker图形界面用于深度学习的用户. (三)配置远程桌面连接访问dock ...

  6. ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(二)

    ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(二) 本教程适用于想要在远程服务器上配置docker图形界面用于深度学习的用户. (二)nvidia docker配 ...

  7. VNC实现Windows远程访问Ubuntu 16.04(无需安装第三方桌面,直接使用自带远程工具)

    本文主要是讲解如果理由VNC实现Windows远程访问Ubuntu 16.04,其实网上有很多类似教程,但是很多需要安装第三方桌面(xfce桌面等等),而且很多人不太喜欢安装第三方桌面,很多人像笔者一 ...

  8. CentOS搭建xfce桌面+VNC教程

    CentOS搭建xfce桌面+VNC教程 Linux的安全与性能向来为开发者所称道,你可以轻松地在搜索引擎中找到各种Linux优越性的说辞,其中不乏Linux的激进者.特别是当你步入VPS领域,更多地 ...

  9. 服务器搭建远程docker深度学习环境

    服务器搭建远程docker深度学习环境 本文大部分内容参考知乎文章 Docker+PyCharm快速搭建机器学习开发环境 搭建过程中出现ssh连接问题可以查看最后的注意事项 Docker Docker ...

  10. Ubuntu20.04搭建web服务器

    其他Ubuntu20以及Ubuntu18系列也可以!

随机推荐

  1. Javaheima21

    Java 学习内容 XML XML解析技术 XPath 设计模式 在有些业务场景下,存储数据或者传输数据给别人的时候,数据需要满足优点的规范进行组织 XML文件存储的数据需要提取出来 如何方便的在XM ...

  2. IT工具知识-14:如何通过adb操作安卓剪切板?

    1.安装apk 下载地址 2.运行服务(每次重启系统都需要运行一次) adb shell am startservice ca.zgrs.clipper/.ClipboardService 3.设置剪 ...

  3. create_generated_clock 的用法

    本文转载自:create_generated_clock_亓磊的博客-CSDN博客_create_generated_clock 文章目录 参数source和master_clock区别 create ...

  4. Cplex解决JSP问题

    我的上一篇博客Cplex解决FSP问题 - 加油,陌生人! - 博客园 (cnblogs.com)用Cplex完成了FSP的建模,这篇文章主要是解决JSP问题(车间调度问题). JSP问题:n个工件, ...

  5. IDEA比较常用的快捷键

    IDEA比较常用的快捷键 快捷键 说明 Ctrl+] 诸如{}围起来的代码块,使用该快捷键可以快速跳转至代码块的结尾处 Ctrl+[ 同上,快速跳至代码块的开始出 Ctrl+Shift+Enter 将 ...

  6. loadrunner入门(关联)

    左右边界:提取第一个id web_reg_save_param_ex(                 "ParamName=Id",         "LB=//OK[ ...

  7. [picoCTF]Scavenger Hunt write up

    http://mercury.picoctf.net:5080/,这个网站周围隐藏着一些有趣的信息.你能找到它吗? 根据提示: 您应该有足够的提示来查找文件,不要运行暴力破解程序. 点击链接,进入页面 ...

  8. 把OSC_IN/OSC_OUT引脚作为GPIO端口PD0/PD1

    外部振荡器引脚OSC_IN/OSC_OUT可以用做GPIO的PD0/PD1,通过设置复用重映射和调试I/O配置寄存器(AFIO_MAPR)实现.这个重映射只适用于36. 48和64脚的封装(100脚和 ...

  9. 【Beat】Scrum Meeting 3

    时间:2021年6月28日 1.各个成员今日完成的任务以及贡献小时数 姓名 今日完成任务 贡献小时数 鑫 进行软件测试,修改bug 4 荣娟 进行软件测试,修改bug 4 亚楠 进行软件测试,修改bu ...

  10. .Net7 GC标记阶段代码的改变

    前言 由于业务需求,在探究.Net7的CLR,发现了一个不通的地方,也就是通过GCInfo获取到了对象之后.它并没有在GcScanRoots(对象扫描标记)里面对它进行标记,那么如果没有标记这个对象如 ...