最近将系统切换到linux下,使用的发行版本是elementary os 0.4,花了几美刀在官网买的。在使用idea的过程中遇到了一些问题,在此记录一下。
一 使用linux的忠告
- 你必须有一定的linux基础。
- 你要拥有和我一样不折腾会死星人的精神。
- 不要用windows的思维来思考linux的逻辑。
- 权限,权限,权限,重要的事情说三遍。
- 拥有开源精神,参与github。
- 会命令行就别去点图形界面。
- vim和emacs总要会一个。
很多人看到我写了这么大一堆,用个linux还有这么多要求?这不是要求,而是建议。你掌握以上能力能够让你在linux系统下如虎添翼,不然只能寸步难行,走上重装——装环境——搞死系统——再重装的噩梦之路。
二 使用root权限启动idea
起因:因为我们开发的游戏中,沙箱启动端口是843。linux下1024以下的端口必须有root权限才能启动。
1. 开始折腾
elementary os 是基于ubuntu系统的。ubuntu是不能允许直接用root登录系统的,只能通过sudo的方式获取root权限。我才开始想着给它root权限就行了,于是我这样做:chown 777 root:root idea
,这样总行了吧。然后启动项目,运行沙箱。fuck…依旧 access denied,我这就郁闷了。在我百般折腾之后,我这样做:
sudo vim ~/.bashrc
,设置一下别名 alias idea ='cd /home/xiaomo/Software/idea && sudo sh idea.sh &'
,然后source
一下。以后我启动项目就可以直接idea
就可以启动了。至此折腾完毕,这个问题解决了,其实大多数人不会遇到这个问题,因为我们测试项目的话一般都是8080——10000之间,这些端口都是可以随便使用不用root权限的。像我们公司的项目比较特殊,客户端请求的是843端口,我不可能因为这个原因去改游戏端口,所以只能想办法获取root权限,才有了以上的折腾。
二 linux下idea的ctrl+ space 占用
用window的时候没影响,但是linux下的idea的智能提示键和输入法切换的键冲突了,因此我们改一下idea的keymap 修改方法如下:
点击 文件菜单(File) –> 点击 设置(Settings… Ctrl+Alt+S), –> 打开设置对话框。
在左侧的导航框中点击 KeyMap。 接着在右边的树型框中选择 Main menu –> Code –> Completion. 接着需要做两件事:
- 移除原来的Cycle Expand Word 的 Alt+斜杠 快捷键绑定。
- 在 Basic 上点击右键,去除原来的 Ctrl+空格 绑定,然后添加 Alt + 斜杠 快捷键。 然后应用(Apply), OK.
三 linux下idea编辑器无法输入中文
不知道各位在linux系统下使用idea有没有遇到这个问题,但是通过百度发现还有有多少遇到这种问题的。虽然答案千奇百怪,不一定起作用。但是通过折腾之后终于发现在可以使用的方法,设置如下:
解决方法
在IDEA的bin目录下的idea.sh文件的前面加上
export XMODIFIERS=@im=fcitx export QT_IM_MODULE=fcitx
如果是使用vim编辑
idea.sh
的话一下要加sudo
,保存时用:wq!
四 感叹
切换到linux也有半个多月了,现在终于差不多适应了。从才开始的linux mint 17到现在的elementary os,还是爽舒服的。