解决KDE桌面环境下Eclipse崩溃的问题--让Eclipse使用特定的GTK2主题运行
最近在Kubuntu14.04上安装Eclipse,由于Ubuntu软件中心中的版本太老(3.8),而且会自动安装OpenJDK,于是到官网下载最新的4.4版。(Luna,代号很有亲切感有木有,女神万岁,暗月万岁,懂的都懂)
问题
Eclipse谈不上什么安装,非要说安装也就是创建一下启动快捷方式吧:
sudo vim /usr/share/applications/eclipse.desktop
内容如下:
[Desktop Entry]
Type=Application
Name=Eclipse
Comment=Eclipse Integrated Development Environment
Icon=/usr/lib/eclipse/icon.xpm
Exec=/usr/lib/eclipse/eclipse
Terminal=false
Categories=Development;IDE;Java;
其实解压下载的压缩包后单击目录下的eclipse文件就能用,但是打开后发现新建项目或者首选项中进行配置的时候会直接崩溃。在终端启动发现问题所在:
原来问题出在GTK主题上。Linux版Eclipse应该是使用的GTK2图形库开发的,KDE默认使用的GTK2主题是oxygen-gtk。oxygen引擎在显示绝大多数GTK程序上是很nice的,但是就是Eclipse出了问题。Eclipse中凡是试图打开调用了gtk的ComboBox控件的窗口都会毫无例外的崩溃,不知道算是oxygen-gtk的bug还是eclipse的bug,反正只能等官方修复。
简单解决方法
解决方法很简单,在系统设置->应用程序外观->GTK项,选择一个非oxygen-gtk的GTK2主题即可。但是KDE默认只自带了一个极为粗糙的Raleigh,简直原始(但是兼容性好),启用这一主题会发现所有的GTK2应用程序都非常难看(包括Eclipse):
当然,网上提供有很多精美的GTK2和GTK3主题(KDE自带下载在线主题功能),完全可以安装一款美化比较完整的主题代替oxygen-gtk主题。
“完美”解决方法
由于oxygen-gtk主题本身比较漂亮,而且KDE桌面环境下所有应用程序默认的主题都是Oxygen,单独为GTK程序使用其他主题显得不够协调。所以,我们还可以采用为某个特定程序使用特定主题的方式折中一下。这里我们以A New Start主题(一款比较精美的GTK主题)为例,以下是具体过程:
系统全局的GTK2和GTK3主题依然使用oxygen-gtk不变。
下载安装A New Start主题:
下载地址:
http://alecive.deviantart.com/art/A-New-Start-1-3-169100684
安装:
1、将下载到的压缩包解压,在其1. GTK2,GTK3,Metacity,Unity,Gnome-shell theme目录下有个名为ANewStart的子目录,将其复制到主文件夹(/home/username/)下的.themes目录下(隐藏目录打开方法:alt+.)。
2、由于A New Start主题依赖murrine这个GTK主题引擎,所以接下来安装murrine引擎:
sudo apt-get install gtk2-engines-murrine
为Eclipse配置A New Start主题:
1、启动需要使用特定主题的GTK2程序的时候使用以下格式的命令:
GTK2_RC_FILES=/path/to/your/theme/gtkrc application-command
如使用A New Start主题启动Eclipse,我的计算机上(用户名为maple)命令如下:
GTK2_RC_FILES=/home/maple/.themes/ANewStart/gtk-2.0/gtkrc /home/maple/eclipse/eclipse
2、当然,你完全可以为这一串命令在bashrc or zshrc or /etc/profile 中设置别名,就像这样:
alias eclipse="GTK2_RC_FILES=/home/maple/.themes/ANewStart/gtk-2.0/gtkrc /home/maple/eclipse/eclipse"
各种启动器上(如上面的Eclipse启动快捷方式)同样可以将启动eclipse的命令设置为GTK2_RC_FILES=/home/maple/.themes/ANewStart/gtk-2.0/gtkrc /home/maple/eclipse/eclipse,反正都是so easy的事情。
至此“完美”解决,下面是使用了A New Start主题的Eclipse的效果,还算协调:
解决KDE桌面环境下Eclipse崩溃的问题--让Eclipse使用特定的GTK2主题运行的更多相关文章
- KDE桌面环境下konsole,kate等软件无法切换中文输入法
解决方案(arch): 修改/etc/profile,增加以下语句: #fcitxexport XIM_PROGRAM=fcitxexport XIM=fcitxexport GTK_IM_MODUL ...
- 如何在Linux桌面环境下自动启动程序?
大多数Linux桌面环境有各自的图形用户界面(GUI),让用户可以配置针对特定用户的自动启动程序或服务.本文将介绍如何在各种Linux桌面环境下,自动启动某个程序的方法. AD:WOT2014:用户标 ...
- 高并发场景系列(一) 利用redis实现分布式事务锁,解决高并发环境下减库存
原文:http://blog.csdn.net/heyewu4107/article/details/71009712 高并发场景系列(一) 利用redis实现分布式事务锁,解决高并发环境下减库存 问 ...
- 解决Windows x64bit环境下无法使用PLSQL Developer连接到Oracle DB中的问题
本文是原创文章,转载请注明出处: http://blog.csdn.net/msdnchina/article/details/46416455 解决Windows x64bit环境下无法使用PLSQ ...
- jdk1.8源码包下载并导入到开发环境下助推高质量代码(Eclipse、MyEclipse和Scala IDEA for Eclipse皆适用)(图文详解)
不多说,直接上干货! jdk1.8 源码, Linux的同学可以用的上. 由于源码JDK是前版本的超集, 所以1.4, 1.5, 1.6, 1.7都可以用的上. 其实大家安装的jdk路径下,这 ...
- 利用redis实现分布式事务锁,解决高并发环境下库存扣减
利用redis实现分布式事务锁,解决高并发环境下库存扣减 问题描述: 某电商平台,首发一款新品手机,每人限购2台,预计会有10W的并发,在该情况下,如果扣减库存,保证不会超卖 解决方案一 利用数据 ...
- 快速解决Ubuntu/linux 环境下QT生成没有可执行文件(application/x-executable)
快速解决Ubuntu/linux 环境下QT生成没有可执行文件(application/x-executable)(转载) 问题描述 与windows环境下不同,linux选择debug构建时并不 ...
- 在非gnome系桌面环境下运行deepin-wine tim的错误解决
本文通过MetaWeblog自动发布,原文及更新链接:https://extendswind.top/posts/technical/deepin_wine_run_in_not_gnome_desk ...
- Ubuntu18.06 Mate桌面环境下VirtuslBox打开虚拟机“全局菜单”异常退出解决办法
在安装完Ubuntu18.06 Mate桌面环境后在VirtuslBox里打开虚拟机会出现“全局菜单”异常退出问题. 产生上面问题的原因是你的虚拟机可能在 显示= >屏幕= >硬件加速里勾 ...
随机推荐
- 【python】删除1~100的素数
def delPrime(x): if x==1: return True for y in range(2,x): if x%y==0: return True return False x1=ra ...
- 使用springMVC实现文件上传和下载之环境配置与上传
最近的项目中用到了文件的上传和下载功能,任务分配给了其他的同时完成.如今项目结束告一段落,我觉着这个功能比较重要,因此特意把它提取出来自己进行了尝试. 一. 基础配置: maven导包及配置pom.x ...
- Eclipse编辑XML文件的代码提示
1.Eclipse无法解析的情形 Eclipse中编辑XML文件时,能够代码自动提示,是因为在XML头部引入了DTD文件(文档类型定义),Eclipse就是通过解析这个DTD文件,来达到代码提示的功能 ...
- loadView、viewDidLoad、initWithCoder、initWithNibName、awakeFromNib的用法
转载,原地址为:http://jianyu996.blog.163.com/blog/static/11211455520131226840879/ 请尊重原创: 1,无论XIB还是代码创建都会调用l ...
- linux后台进程管理工具supervisor
Linux的后台进程运行有好几种方法,例如nohup,screen等,但是,如果是一个服务程序,要可靠地在后台运行,我们就需要把它做成daemon,最好还能监控进程状态,在意外结束时能自动重启. su ...
- 转来的。。。 关于return 的一些事情
转来的 http://blog.csdn.net/haiwil/article/details/6691854/ 一般的来说,函数是可以返回局部变量的. 局部变量的作用域只在函数内部,在函数返回后,局 ...
- 透明(颜色)渐变背景(颜色透明背景),兼容IE8
filter: progid:DXImageTransform.Microsoft.gradient (GradientType=0, startColorstr=#00000000, endColo ...
- ubuntu 下rar解压工具安装方法
1.压缩功能安装 sudo apt-get install rar卸载 sudo apt-get remove rar2.解压功能安装 sudo apt-get install unrar卸载 sud ...
- angular 的ng-view,ngrouter
通过ng-view和ngRouter控制页面显示内容: html: <body ng-app="AngularStore"> <div class="c ...
- Egret Wing3 FTP使用方法
FTP 挺实用的,不用自己去申请sinasea什么的免费空间来测试项目了. 添加FTP服务器配置 默认就行. 指定目录上传至FTP服务器 选择免费云测试空间.然后选择bin-release/web目录 ...