1. xfce桌面的安装
Xfce是一款轻量级的桌面环境,运行在类Unix操作系统 (如Linux、FreeBSD 和 Solaris)上,界面清爽美观且对用户友好。
在安装Xfce前需要更新一下系统
sudo apt-get update
安装Xfce和xubuntu-desktop
sudo apt-get install xfce4
sudo apt-get install xubuntu-desktop
如果安装时出现错误,就多更新几次系统。
安装结束之后,重启电脑。在登陆界面选择Xfce Session即可进入Xfce桌面。

2.安装vnc远程工具
VNC(Virtual Network Console)是虚拟网络控制台的缩写,常用于远程控制。VNC的功能强大,操作简单,非常实用。在实现对Ubuntu18.04的远程控制中,需要安装VNC Server 和 VNC Viewer两个组件。
Ubuntu18.04安装VNC Server
安装前同样需要更新一下系统
sudo apt-get update
安装VNC Server
sudo apt-get install vnc4server
启动VNC Server(第一次启动VNC Server时会要求设置密码)
vncserver
另外,还需要修改xstartup文件内容(否则在通过VNC远程连接时会出现灰屏现象)
vim ~/.vnc/xstartup
将原文件内容(前12行)修改为以下内容:
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
startxfce4 &
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey

参考下面配置比较合适
#!/bin/sh
DESK_TYPE=xfce
# DESK_TYPE=gnome
# DESK_TYPE=unity
# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
# exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
# x-terminal-emulator -geometry 80×24+10+10 -ls -title “$VNCDESKTOP Desktop” &
# x-window-manager &
echo $DESK_TYPE
# xfce desktop
if test $DESK_TYPE = xfce; then
x-terminal-emulator -geometry 80×24+10+10 -ls -title “$VNCDESKTOP Desktop” &
x-session=-manager &
xfdesktop & xfce4-panel &
xfce4-menu-plugin &
xfsettingsd &
xfconfd i&
xfwm4&
fi
# gnome desktop
if test $DESK_TYPE = gnome; then
gnome-session &
gnome-panel &
gnome-settings-daemon &
metacity &
nautilus -n &
gnome-terminal &
/usr/bin/gsettings set org.gnome.desktop.wm.keybindings panel-main-menu “[‘F1’]”
/usr/bin/gsettings set org.gnome.desktop.wm.keybindings maximize “[‘KP_5’]”
/usr/bin/gsettings set org.gnome.desktop.wm.keybindings unmaximize “[‘F5’]”
/usr/bin/gsettings set org.gnome.desktop.wm.keybindings show-desktop “[‘d’]”
/usr/bin/gsettings set org.gnome.desktop.wm.keybindings switch-applications “[‘Tab’]”
/usr/bin/gsettings set org.gnome.desktop.wm.keybindings switch-group “[‘Above_Tab’]”
/usr/bin/gsettings set org.gnome.desktop.wm.keybindings switch-input-source “[]”
/usr/bin/gsettings set org.gnome.desktop.wm.keybindings switch-input-source-backward “[]”
/usr/bin/gsettings set org.gnome.settings-daemon.plugins.media-keys terminal “[‘t’]”
fi
# unity desktop
if test $DESK_TYPE = unity; then
export DESKTOP_SESSION=ubuntu
export GDMSESSION=ubuntu
export STARTUP=”/usr/bin/gnome-session –session=ubuntu”
$STARTUP &
fi
按Esc,输入:wq保存退出。
注意: 本文中xstartup文件仅适用于Ubuntu18.04系统在Xfce桌面下的VNC配置。Ubuntu16.04的xstartup文件内容与本文有所不同。
关闭之前开启的VNC Server窗口
vncserver -kill :1 #注意kill之后有空格
启动VNC Server
Vncserver
VNC Server在启动时还有其他参数可以配置(如分辨 率),可用vncserver -h指令查看。

vnc窗口大小太小,分辨率太低怎么办?使用下面的命令指定分辨率
$vncserver :0 -geometry 1600×1200
$vncserver :1 -geometry 1440×900
注意:上面的x不是*
Windows10安装VNC Viewer
安装时要选择VNC Viewer选项

在VNC Viewer中输入VNC Server的IP地址以及对应端口

点击Connect输入密码即可实现远程控制。

修改默认语言环境为中文(可选)
安装中文语言包
sudo apt install language-pack-zh-hans language-pack-zh-hans-base
设置本地化环境变量
echo “LANG=zh_CN.UTF-8″ >> ~/.profile
修改 /etc/default/locale为:
LANG=”zh_CN.UTF-8″
LANGUAGE=”zh_CN.UTF-8”
中文输入法
sudo apt install fcitx fcitx-pinyin
echo -e “export XMODIFIERS=@im=fcitx\nexport GTK_IM_MODULE=fcitx\nexport QT_IM_MODULE=fcitx\n” >> .profile
安装firefox检验效果:
sudo apt-get install –assume-yes firefox firefox-locale-zh-hans
随后直接运行下述代码即可查看效果。
firefox
安装 zsh
目前常用的 Linux 系统和 OS X 系统的默认 Shell 都是 bash,但是真正强大的 Shell 是深藏不露的 zsh, 这货绝对是马车中的跑车,跑车中的飞行车,史称『终极 Shell』,但是由于配置过于复杂,所以初期无人问津,很多人跑过来看看 zsh 的配置指南,什么都不说转身就走了。直到有一天,国外有个穷极无聊的程序员开发出了一个能够让你快速上手的zsh项目,叫做「oh my zsh」,Github 网址是:https://github.com/robbyrussell/oh-my-zsh。这玩意就像「X天叫你学会 C++」系列,可以让你神功速成,而且是真的。
zsh 就是一款强大的虚拟终端,网上也都推荐使用 oh my zsh 来管理配置 , 不过对我来说还是不够傻瓜。于是,参考一篇文章使用 zsh 的包管理器 antigen 来管理所有功能,文章中还给了现成的配置。
安装 zsh
sudo apt-get -y install zsh
设置终端的 shell 环境默认为 zsh,输入以下命令(需要重启)
# 加 sudo 是修改 root 帐号的默认 shell
chsh -s `which zsh`
如果上面命令无效,修改 ~/.bashrc 文件, 在开头添加:
if [ -t 1 ]; then
exec zsh
fi
安装 antigen
curl -L git.io/antigen > antigen.zsh
# 修改配置 ~/.zshrc(如果切换帐号后无法使用 zsh 则把该用户的配置文件再配一遍)
curl -L https://raw.githubusercontent.com/skywind3000/vim/master/etc/zshrc.zsh > ~/.zshrc
注:已下载该文件
# 修改主题, 参考:https://github.com/robbyrussell/oh-my-zsh/wiki/themes# 如果需要主题一直生效需要添加到 ~/.zshrc 中
antigen theme ys
# 配置修改完重新执行 zsh
如果出现警告:zsh compinit: insecure directories, run compaudit for list.
chmod -R 755 ~/.antigen
按键补齐 ( 解决zsh中无法正常使用home和end等键的问题)
在 ~/.zshrc 文件末尾添加下面的内容
# key bindings
bindkey “\e[1~” beginning-of-line
bindkey “\e[4~” end-of-line
bindkey “\e[5~” beginning-of-history
bindkey “\e[6~” end-of-history
# for rxvt
bindkey “\e[8~” end-of-line
bindkey “\e[7~” beginning-of-line
# for non RH/Debian xterm, can’t hurt for RH/DEbian xterm
bindkey “\eOH” beginning-of-line
bindkey “\eOF” end-of-line
# for freebsd console
bindkey “\e[H” beginning-of-line
bindkey “\e[F” end-of-line
# completion in the middle of a line
bindkey ‘^i’ expand-or-complete-prefix
# Fix numeric keypad
# 0 . Enter
bindkey -s “^[Op” “0”
bindkey -s “^[On” “.”
bindkey -s “^[OM” “^M”
# 1 2 3
bindkey -s “^[Oq” “1”
bindkey -s “^[Or” “2”
bindkey -s “^[Os” “3”
# 4 5 6
bindkey -s “^[Ot” “4”
bindkey -s “^[Ou” “5”
bindkey -s “^[Ov” “6”
# 7 8 9
bindkey -s “^[Ow” “7”
bindkey -s “^[Ox” “8”
bindkey -s “^[Oy” “9”
# + – * /
bindkey -s “^[Ol” “+”
bindkey -s “^[Om” “-”
bindkey -s “^[Oj” “*”
bindkey -s “^[Oo” “/”
应用商店
目前 ( 1709 版本 16299.64 ) 已经可以在商店中搜索安装多个不同版本的子系统了,根路径为 %localappdata%\Packages\【根据子系统名找到对应的应用文件夹】\LocalState\rootfs 。同时还新增了两个命令行工具: wsl.exe 和 wslconfig.exe 。
其中 wsl.exe 应该等价于 bash.exe , 两者之间的细微差别暂时还没发现。至于 wslconfig.exe 的作用主要为(参考):
1. 查看安装所有已安装的子系统: wslconfig /l
适用于 Linux 的 Windows 子系统:
Ubuntu (默认)
Legacy
其中 Ubuntu 是商店中下载的版本,Legacy 是按老方法安装的默认wsl。
2. 切换bash.exe默认使用的子系统: wslconfig /s <DistributionName>
其中 <DistributionName> 替换为 Ubuntu 或 Legacy , 或者其他已安装的子系统。
3. 卸载已安装的子系统: wslconfig /u <DistributionName>
同上替换 <DistributionName> 。经测试发现,此 “卸载” 并不会卸载商店中安装的 Ubuntu 应用, 即再次执行该应用又会重新安装了。
与 Windows 通讯
目前子系统与 Windows 之间通过以下两种方式进行通讯
1、通过 tcp 协议进行通讯(简单点说就是用网络,端口都是通的)
2、通过 /mnt/【盘符】/目录 的方式访问Windows目录
试过在Windows的资源管理器中直接对子系统环境目录下的文件所做的修改不能被子系统所识别,因此需要在bash下进行操作。
在任何情况下,请勿使用Windows应用程序,工具,脚本,控制台等创建或修改Linux文件