解决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里打开虚拟机会出现“全局菜单”异常退出问题. 产生上面问题的原因是你的虚拟机可能在 显示= >屏幕= >硬件加速里勾 ...
随机推荐
- gridview的行选择的一个问题
我想实现这样一个效果:单击gridview的行内任意地方都可以选择该行(就是行内复选框被选中),同时修改该行的背景色.当再次单击行内任意地方又可以取消选择.另外,当单击选择行内复选框时,我希望可以选择 ...
- Yii2.0中文开发向导——Yii2中多表关联查询(join、joinwith)
我们用实例来说明这一部分 表结构 现在有客户表.订单表.图书表.作者表, 客户表Customer (id customer_name) 订单表Order (id order_ ...
- 如何在linux sqlplus 下实现方向健和回退键操作而避免乱码
在window下的sqlplus可以通过箭头键,来回看历史命令,用起来非常的方便.但是在linux里就没有这么方面了,错了一个命令,我们必须重新敲一次,辛苦了手指头. 通过rlwrap包实现linux ...
- SQL总结(三)其他查询
SQL总结(三)其他查询 其他常用的SQL,在这里集合. 1.SELECT INTO 从一个表中选取数据,然后把数据插入另一个表中.常用于创建表的备份或者用于对记录进行存档. 语法: SELECT c ...
- Null modem接线
1.6 <-> 4 2 <-> 3 3 <-> 2 4 <-> 1.6 5 <-> 5 7 <-> 8 8 <-> ...
- JavaScript基本语法
本节和CSS语法类似,理解这些语法以后,就可以按照Bootstrap的开发规范去开发自己的各种插件了. ||和&&运算符 ||表示,如果第一个元素可以转换为true,则返回第一个元素的 ...
- android studio This client is too old to work with the working copy at
http://www.cnblogs.com/maijin/archive/2013/01/09/2852330.html http://stackoverflow.com/questions/283 ...
- 利用WCF的双工通讯实现一个简单的心跳监控系统 z
利用WCF的双工通讯实现一个简单的心跳监控系统 http://www.cnblogs.com/zuowj/p/5761011.html 何为心跳监控系统? 故名思义,就是监控某个或某些个程序的运行状态 ...
- Bootstrap for MVC:Html.Bootstrap().TextBoxFor(model=>model.Name)
在上篇博文中提到最近比较忙,也打过招呼Orchard系列文章更新速度可能会放缓,但还是会继续写下去,主要原因在最近想着开发一个新的东西(系统?组件?),等有一定成果时会跟大家分享一些相关的东西,今天介 ...
- mybatis配置优化
1.加入日志log4j 1)加入jar包:log4j-1.2.17.jar 2)加入log4j配置文件: 可以使properties或者xml形式 log4j.rootLogger = DEBUG,C ...