在 Win10 安装 Linux 子系统 运行图形界面程序方法

Win10周年正式版 开始就内置了 Linux 子系统,对于经常用到Linux命令的用户来说大大的提高了便利性,不再需要安装双系统 或者 用虚拟机安装个Linux系统了。Win10默认是没有开启的Linux 子系统,下面下1个好软件小编教大家如何开启并使用:

1.「控制面板」→「程序」→「启用或关闭Windows功能」,选上「适用于 Linux 的 Windows 子系统(beta)」,然后需要重启电脑。

win10setuplinuxff 在 Win10 安装 Linux 子系统 运行图形界面程序方法 Win10 Linux

2.打开「设置」→ 「更新和安全」→ 「针对开发人员」→ 选择「开发人员模式」,然后选择「是」。

win10setuplinuxff2 在 Win10 安装 Linux 子系统 运行图形界面程序方法 Win10 Linux

3.开始安装Linux:快捷键 Win+R ,输入 PowerShell ,在 PowerShell 里输入:lxrun /install,然后按 Y,开始下载。(下载真TM慢啊!181M左右的文件)

win10setuplinuxff3 在 Win10 安装 Linux 子系统 运行图形界面程序方法 Win10 Linux

4.PowerShell 里输入:bash,进入Ubuntu。

5.默认使用的root帐号登录,通过指令passwd设置密码。

更换数据源

在Ubuntu下我们可以通过apt-get命令很方便的安装/卸载软件,由于默认的软件包仓库是位于国外的,安装软件的时候就可能遇到各种网络问题或者下载到的一些资源不完整,因此就需要切换数据源为国内的镜像站点来改善。

# 1.备份原来的数据源配置文件
cp /etc/apt/sources.list /etc/apt/sources.list_backup

# 2.编辑数据源配置文件
vim /etc/apt/sources.list

# 在这里我使用的是阿里云的数据源:
#==============================================================================================
# deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
# deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
# deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
# deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
# deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
# deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
# deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
# deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
# deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
# deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
#===============================================================================================

# 3.更新配置
apt-get update

与Windows通讯

目前子系统与Windows之间通过以下两种方式进行通讯

  1. 通过tcp协议进行通讯(简单点说就是用网络,端口都是通的)
  2. 通过"/mnt/【盘符】/目录"的方式访问Windows目录

试过在Windows的资源管理器中直接对子系统环境目录下的文件所做的修改不能被子系统锁识别,因此需要在bash下进行操作。

使用bash客户端软件cmder

Windows自带的命令提示符cmd并不是很好用(文本选中、复制粘贴等等操作),在这里使用cmder作为替代品,体验效果很好。去cmder官网下载mini版(完整版附带了模拟的bash环境,由于已经安装linux子系统,就不再需要了)的解压即可使用。

设置:

1.启动cmder直接运行bash:

  1. 进入"Settings>Startup>Startup options",
  2. 选择Command line,输入"bash -cur_console:p"

win10setuplinuxff4 在 Win10 安装 Linux 子系统 运行图形界面程序方法 Win10 Linux

2.通过软件底部的加号按钮新开标签页并进入bash:

  1. 进入"Settings>Startup>Startup options>Tasks",
  2. 选择"bash::bash",将指令修改为"cmd /c "bash" -cur_console:p -new_console:d:%USERPROFILE%"

win10setuplinuxff45 在 Win10 安装 Linux 子系统 运行图形界面程序方法 Win10 Linux

小贴士:将cmder目录添加到环境变量path中或者复制快捷方式到C:\Windows\System32"目录下,就可通过win+R快捷键快速打开了

运行图形界面程序

什么!linux不是就这么个黑白界面的窗口吗?是的,你没看错,就是图形界面,这里用到的是Xserver这个东东,至于原理什么的各位自行度娘吧。

  1. 安装Xming 下载地址 安装完直接打开Xming即可
  2. 安装一个firefox测试:apt-get install firefox
  3. 运行(在程序指令前加上"DISPLAY=:0 "):DISPLAY=:0 firefox
  4. 简化配置:每次运行程序都要输入DISPLAY=:0挺累的,执行下列指令后重启bash即可省去这个步骤

echo "export DISPLAY=:0.0" >> ~/.bashrc

Sublime Text 3安装

既然都可以运行图形界面了,编辑器也要换成可视化的,毕竟vim还是不太适合我。

cd /

# 下载
wget https://download.sublimetext.com/sublime-text_build-3126_amd64.deb

# 安装
dpkg -i sublime-text_build-3126_amd64.deb

# 运行
subl

# 安装依赖包

apt-get -y install libgtk2.0-0

启动xfce桌面环境

图形界面程序都能运行了,不试试ubuntu的桌面环境怎么能甘心,于是又是噼里啪啦一顿搜索。

# 1.安装xfce4
apt-get install xfce4

# 2.安装xubuntu桌面及附带应用
apt-get install xubuntu-desktop

# 3.启动
xfce4-session

# 解决启动报错

sed -i 's$<listen>.*</listen>$<listen>tcp:host=localhost,port=0</listen>$' /etc/dbus-1/session.conf

现在打开看到Xming打开了三个窗口,分别是桌面、任务栏、菜单栏。逼格是提升了不少,不过确实很卡。

win10setuplinuxff7 在 Win10 安装 Linux 子系统 运行图形界面程序方法 Win10 Linux

在子系统上运行nginx

因工作项目中用到了ssi技术,而已经windows上已经编译好的nginx是不支持相对路径引用的(需要修改源码重新编译),只能委屈求全用着apache。不过既然现在都能跑linux了,那就试试在linux上运行nginx,然后在windows上进行调用。

1.通过apt-get方式安装

apt-get install nginx

# 启动报错了:
nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)

# 80端口实际没被占用,那应该就是ipv6的问题,将其禁用:
vim /etc/nginx/sites-available/default

# 找到default_server ipv6only=on;注释掉

# 再次启动没报错,不过浏览器无法访问,80端口也没被使用,查看error.log
cat /var/log/nginx/error.log

# 看到错误信息:
ioctl(FIOASYNC) failed while spawning "worker process" (22: Invalid argument)

# 解决方法:禁用master进程模式
sed -i '1 a\master_process off;' /etc/nginx/nginx.conf

再次启动,终于没报错了,Windows中打开浏览器访问127.0.0.1,还真的实验成功了,不过nginx版本有点老,是1.4.6的。

2.通过编译源码的方式安装

# 1.安装依赖包
apt-get -y install build-essential autoconf libtool libxml2-dev openssl libcurl4-openssl-dev libbz2-dev libjpeg-dev libpng12-dev libfreetype6-dev libldap2-dev libmcrypt-dev libmysqlclient-dev libxslt1-dev libxt-dev libpcre3-dev libreadline-dev

# 2.下载源码
wget http://tengine.taobao.org/download/tengine-2.1.1.tar.gz

# 3.解压
tar -zxvf tengine-2.1.1.tar.gz

# 4.进入目录
cd tengine-2.1.1

# 修改源码...

# 5.配置
./configure --prefix=/usr/anyesu/nginx

# 6.编译&安装
make && make install

# 7.修改配置文件
sed -i '1 a\master_process off;' /usr/anyesu/nginx/conf/nginx.conf

# 8.启动
/usr/anyesu/sbin/nginx

上面的步骤,我试了两台电脑,其中一台报错:

nginx: [emerg] invalid port in resolver "fec0:0:0:ffff::1" in /usr/anyesu/nginx/conf/nginx.conf:123

/etc/resolv.conf

出现的fec0:0:0:ffff::1是个什么鬼,度娘了一番,貌似是dsn,打开dns配置文件/etc/resolv.conf果然发现了这东西,应该是Windows下只分配了1个dns,所以linux就给了这么两个默认值的吧。将它们注释掉,重新启动nginx,成功运行Tengine/2.1.1!

注意,每次重启bash都会重置dns配置的

启用ssh

本地可以通过命令行打开bash,如果要远程访问(如同访问线上服务器一样),那么就需要启用ssh。

# 1.安装ssh(一般不需要这步)
apt-get install openssh-server

# 2.修改配置文件
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
vim /etc/ssh/sshd_config

#=======(修改以下选项内容)=========#
# Port 23(22端口已被占用) #
# (取消注释)ListenAddress 0.0.0.0 #
# UsePrivilegeSeparation no #
# PermitRootLogin yes #
# (注释)StrictModes yes #
# PasswordAuthentication yes #
#================================#

# 3.启动ssh
service ssh start

# 4.如果提示“sshd error: could not load host key”,则用下面的命令重新生成
rm /etc/ssh/ssh*key
dpkg-reconfigure openssh-server

使用终端工具访问,这里我用的是WinSCP + PuTTY

win10setuplinuxff8 在 Win10 安装 Linux 子系统 运行图形界面程序方法 Win10 Linux

win10setuplinuxff9 在 Win10 安装 Linux 子系统 运行图形界面程序方法 Win10 Linux

以上就是 在 Win10 安装 Linux 子系统 运行图形界面程序方法了,可以帮助大家少走弯路,爱折腾的折腾起来吧!欢迎留言和加群(16009963)交流。

本文参考来源: anyesusunnyliqianyx91490syrchina

⚠ PS4游戏/全掌机/全家用机游戏下载,请加入QQ群:482013984 获取。

猜你喜欢

发表评论