win10调用wsl2的linux程序,在Win 10的Wsl2子系统上安装配置Deepin,附运行gui程序方法...

本文介绍在Windows 10的Wsl2子系统上安装和初步配置Deepin 20.1,还附上运行gui程序的方法。所安装到的OS是Deepin 20.1 on Windows 10 x86_64,Kernel是4.19.128-microsoft-standard,Shell是bash 5.0.3。实现本文的前提是在Win 10中安装好Wsl2,可参考在Windows 10 May 2020 Update上安装WSL 2,以使用Ubuntu 20.04一文。

a61e08e6ec96c3252262f0eda7df8656.png

一、安装Deepin

这里使用的是GitHub项目中的镜像DeepinWSL 2020.1002.1,请看在WSL上可以用Deepin了,项目名为DeepinWSL,附介绍。

具体操作步骤如下:

1、登录项目页面之后点击Download下载一个压缩文件。

2、解压得到两个文件。

3、放在某个文件夹下。

4、快捷键win+x然后再按a以管理员权限打开power shell。

5、cd到刚刚那个目录:

cd "C:\Program Files\deepin"

6、运行Deepin.exe:

.\Deepin.exe

等待一会,就能装好Deepin了,就这么简单。

注:使用DeepinWSL会方便了许多,但是要想发挥系统的性能,则需要实机上安装。

二、初步配置Deepin

安装好后,只是有一个Deepin命令行,显然使用不太方便,所以我们要配置下。

上面的执行完会进到一个root账户中,还是不用密码登录的root账户,所以我们首先需要添加一个账户,比如我的叫fslong,也可以改成其它的帐户,比如ywnz,分别执行下面两行代码:

adduser fslong

adduser fslong sudo

注:如果是ywnz帐户,则运行adduser ywnz和adduser ywnz sudo。

上面第一行是增加fslong用户,第二行是把他加到sudo用户组里,这里有个问题,sudo都没安装,所以千万别切换到fslong这个账户中,需要先安装sudo:

apt update

apt install sudo

好了,此时就可以退出来了,但是下次使用Deepin命令进去还是root账户,我们需要让他自动登录刚刚新增的账户,需要在power shell中设置默认用户:

.\Deepin.exe config --default-user fslong

这样就可以自动登录你新增的用户了。

三、运行gui程序的方法

1、安装xorg,跟其他Linux发行版一样我们都可以安装xorg来运行x11服务,选键盘语言的时候直接敲回车默认的English就可以:

sudo apt install xorg

2、安装GWSL,这是一个非常简单的软件,用于运行wsl的gui程序,在Windows应用商店中搜索即可。

3、装完打开后会右下角会多一个工具,如下图:

7301de8c268e6db209ca8fab460dc784.png

点击后变成下面这样:

6a827558e0517d1cfa85ff9261d3649e.png

4、继续点第一个,第一个变成对勾就可以了:

3bb1b418ed521dbcd2f99f21e7253947.png

5、正常到这里就可以了,再Windows的命令行中运行deepin-terminal,如下图:

cdc4f39275f36469fd7d3a4cb9ea630f.png

附:很多人可能会出现奇怪的问题,可能会造成gui无法启动,Wsl2启动的时候还报错,引起该问题的原因可能是.bashrc文件的问题,我个人换成了zsh,然后在.zsh文件末尾加上就可以了,如下:

#GWSL_EXPORT_DISPLAY

ipconfig_exec=$(wslpath "C:\\Windows\\System32\\ipconfig.exe")

if [ -x $(which ipconfig.exe) ]

then

ipconfig_exec=$(which ipconfig.exe)

fi

wsl2_d_tmp=$($ipconfig_exec | grep -n -m 1 "Default Gateway.*: [0-9a-z]" | cut -d : -f 1)

if [ -n $wsl2_d_tmp ]

then

first_line=$(expr $wsl2_d_tmp - 4)

wsl2_d_tmp=$($ipconfig_exec | sed $first_line,$wsl2_d_tmp!d | grep IPv4 | cut -d : -f 2 | sed -e "s|\s||g" -e "s|\r||g")

export DISPLAY="$wsl2_d_tmp:0"

else

export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk "{print $2}"):0

fi

注:增加以上代码后成功解决了gui无法启动的问题。

相关主题

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值