一 安装

1.1 WSL

  1. 首先安装WSL,参考windows上的linux子系统(WSL)
  2. 更换源。打开清华大学开源软件镜像站,找到对应自己版本的源,拷贝内容。
  3. 将原有源备份,创建新源
    sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak
    sudo vim /etc/apt/sources.list  #将内容张贴进去
    

1.2 Java

  1. 下载OpenJDK,这里下载Ubuntu中默认的java版本:
    $ sudo apt install default-jdk
    
  2. java环境变量。此时java已存在/usr/bin/java目录,因此不用设置PATHCLASSPATH默认当前目录,也不用设置,因此只设置JAVA_HOME,参考:零碎知识1.11。编辑~/.profile文件,添加一句:
    export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
    

1.3 Tomcat

  1. 从官网上下载tomcat,然后在linux拷贝过来,解压到某个地方(我选择~/Software/目录)。
  2. 修改~/.profile,添加环境变量,tomcat需要确定自己的位置。但也不是必须的,idea配置tomcat不需要。
    export CATALINA_HOME=/home/luo/Software/apache-tomcat-9.0.16
    
  3. 为tomcat添加符号链接到~/bin目录下,该目录默认位于$PATH中,然后就可以在命令行中启动tomcat了
    $ ln -s /path/to/tomcat/bin/catalina.sh ~/bin/tomcat
    # 注意,第一个路径是指向catalina的绝对路径,这里随手写的
    

1.4 Maven

  1. 同样的配置,官方下载、拷贝、解压,这里不用设置环境变量PATH了,直接创建符号链接:
    ln -s /path/to/Maven/bin/mvn ~/bin/mvn
    # 注意项同上
    
  2. 为了加速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

  1. 同样在官网上下载、拷贝、解压,但是这里创建脚本文件,主要为了打开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了。参考win10设置程序开机自启

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进程。

  1. 首先导入windows的所有字体
    # 将windows的字体放入ubuntu里
    sudo mkdir /usr/share/fonts/windows
    sudo cp -r /mnt/c/Windows/Fonts/*.ttf /usr/share/fonts/windows/
    fc-cache
    
  2. 安装输入法,这里选择谷歌拼音
    # 安装输入法及所需的包,这里选择的是谷歌输入法
    sudo apt-get --assume-yes install fcitx fcitx-googlepinyin dbus-x11
    
  3. ~/.profile中添加环境变量
    # 设置中文 & 输入法
    export LC_ALL="zh_CN.UTF-8"
    export XMODIFIERS=@im=fcitx
    export GTK_IM_MODULE=fcitx
    export QT_IM_MODULE=fcitx
    
  4. 设置zh_CN.UTF-8,然后重启shell
    sudo locale-gen zh_CN.UTF-8
    
  5. 运行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

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐