Python环境搭建二
win10+win10下自带linux bash
在新版本的win10针对开发者提供自带有小型linux 虚拟机。提供linux环境下一样的体验
win10 linux location:C:\Users\hxzy\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs
配置并启用自带linux虚拟机
1.进入 设置 - 更新与安全 - 开发者选项 - 选择“开发者模式”
2.进入 控制面板 - 程序 - 启用或关闭windows功能 - 勾选
3.打开 Microsoft Store ,搜索“linux” 选择你喜欢的linux 。安装完成后重启计算机。
启用bash
1.使用管理员权限启用cmd: 进入后为 cmd-bash
linxu bash 配置源
我当时是想通过系统自带的bash 远程连接服务器。但是发现没有SSH 。安装SSH 提示没有这个包。后来百度发现这个bash 是最小化的linux,没有配置源,不能进行putty连接服务器。
1.配置源
对 sources.list 文件进行操作
cp /etc/apt/sources.list /etc/apt/sources.listbak #备份原有配置文
sudo vi /etc/apt/sources.list #编辑
添加以下代码:
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse # 预发布软件源,不建议启用 # deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
系统更新结束。bash 已经全部好了,一个全新的linux虚拟机有了,不再需要另外安装虚拟机浪费空间了
Win10的Linux子系统也能运行图形程序
官网:sourceforge.net/projects/xming。
备选下载地址: https://sourceforge.net/projects/xming/?source=typ_redirect
-
下载并安装windows版本Xming(详细安装教程:https://www.jianshu.com/p/74efb4781a7f)
-
通过在命令窗中执行bash命令进入linux子系统;
-
执行sudo apt-get update来更新Linux系统;
-
执行sudo apt-get install x11-apps 来安装图形化驱动;
- 修改配置文件(将下面的内容加入到.bashrc中)
-
# XMing display export DISPLAY=:0.0
在win10 linux子系统中安装pycharm
使用下面命令进行解压:
tar -zvxf pycharm-community-2017.3.2.tar.gz
进入解压后的文件夹中的bin文件夹,并执行
sh pycharm.sh
此时可能报一些JAVA异常错误,解决方案如下:
sudo apt-get install libxrender-dev
sudo apt-get install libxtst-dev
需要启动pycharm时,可以在.bashrc中添加 快捷操作:(注意你的安装路径)
alias pycharm="sh /root/pycharm/bin/pycharm.sh"
中文乱码
输入命令:
sudo gedit /etc/default/locale
将如下添加进去,保存
LANG=zh_CN.UTF-8
LANGUAGE=”zh_CN:zh”
安装中文字体(这里以文泉驿微米黑为例):
sudo apt-get install ttf-wqy-microhei
重启,搞定
启动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打开了三个窗口,分别是桌面、任务栏、菜单栏。逼格是提升了不少,不过确实很卡。
在子系统上运行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
以上就是 在 Win10 安装 Linux 子系统 运行图形界面程序方法了,可以帮助大家少走弯路,爱折腾的折腾起来吧!欢迎留言和加群(16009963)交流。




浙公网安备 33010602011771号