目录
- 一 安装
- 1.1 WSL
- 1.2 Java
- 1.3 Tomcat
- 1.4 Maven
- 1.5 Intellij Idea
- 1.6 x server
- 1.7 sublime
- 1.8 添加输入法
- 1.9 界面模糊
- 二 配置idea
- 其他资料
一 安装
1.1 WSL
- 首先安装WSL,参考windows上的linux子系统(WSL)。
- 更换源。打开清华大学开源软件镜像站,找到对应自己版本的源,拷贝内容。
- 将原有源备份,创建新源
sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak
sudo vim /etc/apt/sources.list #将内容张贴进去
1.2 Java
- 下载OpenJDK,这里下载Ubuntu中默认的java版本:
$ sudo apt install default-jdk
- java环境变量。此时java已存在
/usr/bin/java
目录,因此不用设置PATH
,CLASSPATH
默认当前目录,也不用设置,因此只设置JAVA_HOME
。编辑~/.profile
文件,添加一句:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
1.3 Tomcat
- 从官网上下载tomcat,然后在linux拷贝过来,解压到某个地方(我选择
~/Software/
目录)。 - 修改
~/.profile
,添加环境变量,tomcat需要确定自己的位置。但也不是必须的,idea配置tomcat不需要。
export CATALINA_HOME=/home/luo/Software/apache-tomcat-9.0.16
- 为tomcat添加符号链接到
~/bin
目录下,该目录默认位于$PATH
中,然后就可以在命令行中启动tomcat了
$ ln -s /path/to/tomcat/bin/catalina.sh ~/bin/tomcat
# 注意,第一个路径是指向catalina的绝对路径,这里随手写的
1.4 Maven
- 同样的配置,官方下载、拷贝、解压,这里不用设置环境变量
PATH
了,直接创建符号链接:
ln -s /path/to/Maven/bin/mvn ~/bin/mvn
# 注意项同上
- 为了加速maven,配置阿里镜像,在打开maven下
conf/settings.xml
,在mirrors
节点下添加
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
1.5 Intellij Idea
- 同样在官网上下载、拷贝、解压,但是这里创建脚本文件,主要为了打开idea后不会因为会话结束而结束(假设有x server)。创建脚本
~/bin/idea
:
/usr/bin/nohup /home/luo/Software/idea-IU-183.5912.21/bin/idea.sh >/dev/null &
1.6 x server
idea属于x client,需要x server的存在才能显示窗体,又因为wsl与windows共享网络的,因此可以在windows运行x server。这里使用vcxsrv,它的性能比xming好。下载后直接安装。
点击桌面上的XLauch
上面选择保存,保存到一个地方后(这里是有目的的,后面介绍),点击完成。然后在linux配置环境变量DISPLAY
,x client需要该变量找到x server。修改~/.profile
,添加:
export DISPLAY=localhost:0.0
然后运行idea,你会发现idea能够正常运行了。现在我们需要在windows中为vcxsrv设置自启,按win+R
,输入shell:startup
,将之前保存的文件放入进来,以后每次开机都会打开vcxsrv了。
1.7 sublime
有时候vim方便,有使用GUI编辑器更方便,因此这里安装sublime。这里参考教程:How to Install Sublime Text 3 on Ubuntu 18.04,然后发现它没有符号链接存在于PATH
下,因此我们自己创建一个:
$ ln -s /opt/sublime_text/sublime_text ~/bin/sublime
sublime会自动运行为守护进程,会话结束不会被关闭,因此不用写额外的脚本。
1.8 添加输入法
使用sublime过程中,会发现输入法不能使用,因为这是在linux进程中,不能使用windows的输入法,而我们使用的Bash.exe能够在vim中输入中文,是因为它是一个windows进程。
- 首先导入windows的所有字体
# 将windows的字体放入ubuntu里
sudo mkdir /usr/share/fonts/windows
sudo cp -r /mnt/c/Windows/Fonts/*.ttf /usr/share/fonts/windows/
fc-cache
- 安装输入法,这里选择谷歌拼音
# 安装输入法及所需的包,这里选择的是谷歌输入法
sudo apt-get --assume-yes install fcitx fcitx-googlepinyin dbus-x11
- 在
~/.profile
中添加环境变量
# 设置中文 & 输入法
export LC_ALL="zh_CN.UTF-8"
export XMODIFIERS=@im=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
- 设置zh_CN.UTF-8,然后重启shell
sudo locale-gen zh_CN.UTF-8
- 运行
fcitx
服务,并配置它。fcitx是输入法使用的框架,或接口吧。
fcitx # 如果报错,没关系,进程能够运行就行了
fcitx-configtool # 确保此时Xserver为开启
现在可以在sublime中使用中文啦,但是输入法依赖于fcitx服务,一般wsl不会存在服务,因此为了每次开机都能使用输入法,我们在bash shell的脚本中默认开启服务。在~/.profile
中添加如下脚本代码:
# 模拟开启dbus和fcitx服务
if [ $(ps -ax | grep dbus-daemon | wc -l) -eq 1 ]; then
eval `fcitx > /dev/null 2>&1`
fi
这里是我从其他地方抄来修改了下的,代码可能看着比较奇怪。
如果仍不能输入中文,可以尝试手动运行fcitx服务:
$ fcitx
最后,要提醒一点,当windows自启时,最好在x server启动后才打开,因为fcitx对x server有依赖,否则你需要手动键入
fcitx
1.9 界面模糊
可能会发现,字体、界面很模糊,这和分辨率有关。原理不太清楚,直接上过程。这里我们要修改vcxsrv真正执行的程序,找到vcxsrv的安装目录,右键vcxsrv,点击属性:
现在linux图形程序可以很清晰的显示了,如果觉得小,我们可以设置环境变量GDK_SCALE
,控制它的缩放比例。这里不细说了。
二 配置idea
不写了,宣布
配置失败!!!1
因为我碰到了很多问题:
- 第一,不能监听80端口问题,github有相关issue,它们通过卸载winegame、关闭虚拟机适配器、vpn解决,我一一尝试,没用!!!系统也更新到了最新,wsl也是一样。归根结底,还是wsl不够完善。
- 第二,下载firefox不能访问网络,可以ping百度
- 第三,转而让idea使用windows的chrome,又发现idea的
On frame deactivation
不可用,只有将焦点切换到wsl的sublime才能激活idea的这个功能。。。 - 第三,对我的键盘不太兼容,,,无论英文键盘布局还是中文键盘布局,,,,,
因此,我还是玩windows吧。。。。
2019.6.13更新
经测试,目前问题一已被解决,可以监听1024以下的端口了
其他资料
https://zhuanlan.zhihu.com/p/36784160