5、Linux常用技巧:Windows10访问Ubuntu子系统(WSL)的桌面环境
Why Linux ?
最近有个需求是go语言的服务程序需要提供python的sdk供另一个项目调用。而这个python项目的pip源是公司内部,且其中有一个包只有linux版本。
Why WSL ?
在双系统、虚拟机、子系统(Windows Subsystem for Linux)三者中,首先排除了双系统,首先不能随时切换,而且在新的系统中重现当前工作环境(不只是开发环境)代价太大。而虚拟机需要额外安装软件且有额外资源开销,于是尝试在子系统中折腾一把。
网上有些教程需要在windows上安装Xserver什么的,我觉得能不多装东西就不装吧,所以本文不需要在windows下额外安装任何软件。
开启WSL
本文默认看官已经安装并启动了子系统。如果需要帮助可以打开开始菜单中的Microsoft Store
,在搜索框中输入linux
回车,然后根据提示会一步步引导你安装成功。注意不要随便百度一个教程直接开搞,有些还需要编辑注册表的简直坑人。
Ubuntu换源
这一步不是必须的,前提是你网络足够好的情况下。
既然要做修改,第一步当然是备份。
cp /etc/apt/sources.list /etc/apt/sources.list.bak
然后执行vi /etc/apt/sources.list
并在文件最开始添加如下信息:
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
更新与升级
sudo apt update
sudo apt upgrade
sudo apt autoremove
其中第三个命令不是必须的,但是既然有用不到的包何不及时清理呢?
另外说明一下,如果命令执行期间有报错或卡住的情况,直接ctrl+C
重新执行即可,它会自动跳过之前已完成的部分(get 序号会从1重新开始计数,但不会重新get已完成的包)。
另外如果遇到bluemen
的报错,可以忽略不管。
安装桌面环境xubuntu
sudo apt install xubuntu-desktop
说明一下,本人最开始执着于gnome
桌面,在各种google无果后选择了搜错过程中出现次数最多的xfce4
,同时了解到xubuntu
是xfce4
的一个扩展,于是采用xubuntu
桌面环境,在使用了几天后发现还挺好用,它里面内置了若干panel
可供替换(这个后面再说)。如果弹出选择gdm3或lightdm,选择gdm3
安装远程桌面服务xrdp
sudo apt install xrdp
这个就是直接跟windows交互的哥们了,有关其原理的介绍可以参考这篇文章,不过不看也没关系,不影响使用。
另外有的教程会让你安装xorg
与xfce4
,这两个的安装其实在上一步sudo apt install xubuntu-desktop
的时候已经完成了。
配置xrdp端口
sudo sed -i 's/port=3389/port=3390/g' /etc/xrdp/xrdp.ini
这里面3389是默认配置,这里将其改为3390是避免和windows的端口冲突。我们折腾的是子系统不是虚拟机,两边的端口号是通的。比如在wsl中开一个8080端口的WebServer,在windows中开浏览器是可以直接访问的。
配置xsession
sudo echo xfce4-session >~/.xsession
这一步其实是在告诉系统,开启桌面环境的时候开启什么桌面环境。为什么是xfce4
呢,上面也说了xubuntu
本质就是xfce4
加上一些插件与软件。
重启一下电脑
不重启的时候会报错
connecting to sesman ip 127.0.0.1 port 3350
sesman connect ok
sending login info to session manager, please wait...
login successful for display 25
started connecting
connection problem, giving up
some problerm
启动xrdp
sudo service xrdp restart
这里用start
也行restart
也行,既然都可以,当然后者用起来更方便。
启动成功后会看到如下提示
* Starting Remote Desktop Protocol server
[20190514-19:06:59] [DEBUG] Testing if xrdp can listen on 0.0.0.0 port 3390.
[20190514-19:06:59] [DEBUG] Closed socket 6 (AF_INET6 :: port 3390)[ OK ]
远程连接
在windows开始菜单中搜远程桌面
打开后在计算机
后面输入localhost:3390
点击连接。首次连接可能需要较长时间。
用户名密码可以先写,也可以不写,网上有教程还勾选了保存凭据的,这个看个人习惯吧,我用软件从来不勾选记住密码的。
汉化
其实Linux汉化显得很low,但咱这英语水平在处理一些感叹号弹窗的时候看不懂提示不敢瞎点yes还是no,所以汉化步骤放在这,看官依据个人口味吧。
sudo dpkg-reconfigure locales
然后一直按键盘上的↓
找到zh_CN UTF-8
,然后按空格勾选,再tab
切换到ok
上回车,接下来的界面选zh
再回车。
这一步完成后可能会导致键盘不可用,不用激动,点击桌面左上角图标注销后重进就好了。
首次进入中文界面会提示是否重命名那几个文件夹,建议保持英文状态,因为有些路径是写进配置文件了的,重命名会带来不必要的麻烦。
桌面环境汉化之后就是中文输入法了,这个需要用浏览器访问搜狗网页,所以先装下chrome吧(自带的火狐一开始打不开,几天后又能用了)。
安装chrome
sudo apt install google-chrome
安装完成后在命令行sudo google-chrome --no-sandbox
启动,直接google-chrome
会报权限错误,加上sudo
又提示需要--no-sandbox
,看官可以自己试试,如果能非sudo运行请下面评论给咱见识一哈。
安装中文输入法
这个浏览器打开搜狗输入法网页,然后在导航条(顶部那一条)找linux,进去会自动下载安装包,下载完成后从文件夹进入Download
执行dpkg -i file_name
即可安装。
注意别在浏览器中跳转到文件夹,因为浏览器是sudo打开的,从这进文件夹,再右键打开终端,安装后的文件是root用户的,还需要找到并chown,比较麻烦。后面下载安装其他软件同理。
输入法配置可以点击桌面左上角图标,进入设置管理器(SettingManager),然后到最后面找一个拿着毛笔的企鹅就行了,这部分没什么难的就不细说了,有问题评论区见(如果你看到这篇文章是爬虫爬过的,请在csdn上搜同名标题再到评论区提问)。
美化
之前提到的那个panel
此时可以试试了,点击左上角图标,进入设置管理器(SettingManager),找xfce panel switch
然后有一个列表就是所有的panel了,选中一个后点下面的齿轮就可以看效果,找到满意的直接关闭窗口就行。
结语
大概就是这些了,如果看官们有更好的意见或建议,或者还有其他问题都可以直接在评论区提出来。如果觉得还不错可以点个赞哈哈。
上一篇: 把自己打造一个高效率的站长
下一篇: DBSCAN聚类point cloud