分页: 1 / 1

[已解决]求脚本:不同的桌面环境自启动不同的程序

发表于 : 2012-08-16 16:26
linsuyu
事情如下:
我的ubuntu同时有安装unity和kde,在unity中我设置了开机自启动docky和conky,但是登陆到kde后这两个程序也自启动,这样就和kde的主题非常不和谐了,docky挡住了kde的任务栏,conky根本不能嵌入桌面,而且红色和kde的灰色非常不搭调。所以我想求一个脚本,希望开机自动运行这个脚本,自动判断登陆的是哪一个桌面环境,然后执行启动相应的程序或不启动那个程序。求大大赐教! :em06


非常感谢各位的解答,我又查找了相关资料,终于解决了这个问题,现在贴出来也为有相同问题的朋友提供参考。我尽量写的详细一些。
其实ubuntu的自启动程序脚本的位置在~/.config/autostart/下,你打开就会看到一些xx.desktop的文件,用gedit编辑相应的文件,在最后加上
OnlyShowIn=KDE或GNOME或Unity,就可以实现这个程序只在某个桌面环境下自启动了。


PS:网上有一篇名为《如何让KDE与GNOME的启动项彼此分开》的文章,我就是参照这个改的,但是这篇文章的方法有一些错误(也可能是新版本ubuntu不一样),我的是ubuntu12.04,经实测,语法为“OnlyShowIn=”而不是“ShowOnlyIn=”;另外KDE和GNOME都是大写,Unity是首字母大写。

Re: 求脚本:不同的桌面环境自启动不同的程序

发表于 : 2012-08-16 16:38
eexpress
会话启动,本来就是wm自己管理的。凭啥kde会启动docky/conky。你找找,是不是kde多管闲事,有merge了啥。
记得某.kde下有merge目录。

Re: 求脚本:不同的桌面环境自启动不同的程序

发表于 : 2012-08-16 16:46
funicorn

代码: 全选

$ echo $XDG_CURRENT_DESKTOP

Re: 求脚本:不同的桌面环境自启动不同的程序

发表于 : 2012-08-16 17:09
lilydjwg
funicorn 写了:

代码: 全选

$ echo $XDG_CURRENT_DESKTOP
空的

Re: 求脚本:不同的桌面环境自启动不同的程序

发表于 : 2012-08-16 23:17
funicorn
lilydjwg 写了:
funicorn 写了:

代码: 全选

$ echo $XDG_CURRENT_DESKTOP
空的
不可能,你确定用的是unity?

Re: 求脚本:不同的桌面环境自启动不同的程序

发表于 : 2012-08-16 23:29
lilydjwg
funicorn 写了:
lilydjwg 写了:
funicorn 写了:

代码: 全选

$ echo $XDG_CURRENT_DESKTOP
空的
不可能,你确定用的是unity?
我确定不是。

Re: 求脚本:不同的桌面环境自启动不同的程序

发表于 : 2012-08-17 10:37
20sanguo
init.d里建一个文件:服务 u或k特有程序 starting时加载各自服务看看

Re: 求脚本:不同的桌面环境自启动不同的程序

发表于 : 2012-08-17 11:04
funicorn
lilydjwg 写了:
funicorn 写了:
lilydjwg 写了:
funicorn 写了:

代码: 全选

$ echo $XDG_CURRENT_DESKTOP
空的
不可能,你确定用的是unity?
我确定不是。
那你前面说的不全是废话么,既然不用unity,把unity启动脚本删掉不就行了

Re: 求脚本:不同的桌面环境自启动不同的程序

发表于 : 2012-08-17 11:17
lilydjwg
funicorn 写了:
lilydjwg 写了:
funicorn 写了:
lilydjwg 写了:
funicorn 写了:

代码: 全选

$ echo $XDG_CURRENT_DESKTOP
空的
不可能,你确定用的是unity?
我确定不是。
那你前面说的不全是废话么,既然不用unity,把unity启动脚本删掉不就行了
我又没有 unity 启动脚本。你读帖不看发帖人的么?

Re: 求脚本:不同的桌面环境自启动不同的程序

发表于 : 2012-08-17 11:29
funicorn
lilydjwg 写了:
funicorn 写了:
lilydjwg 写了:
funicorn 写了:
lilydjwg 写了:
funicorn 写了:

代码: 全选

$ echo $XDG_CURRENT_DESKTOP
空的
不可能,你确定用的是unity?
我确定不是。
那你前面说的不全是废话么,既然不用unity,把unity启动脚本删掉不就行了
我又没有 unity 启动脚本。你读帖不看发帖人的么?
那我一开始是回给楼主看的,你不用unity你捣什么乱

Re: 求脚本:不同的桌面环境自启动不同的程序

发表于 : 2012-08-17 13:12
lilydjwg
funicorn 写了:
lilydjwg 写了:
funicorn 写了:
lilydjwg 写了:
funicorn 写了:
lilydjwg 写了:
funicorn 写了:

代码: 全选

$ echo $XDG_CURRENT_DESKTOP
空的
不可能,你确定用的是unity?
我确定不是。
那你前面说的不全是废话么,既然不用unity,把unity启动脚本删掉不就行了
我又没有 unity 启动脚本。你读帖不看发帖人的么?
那我一开始是回给楼主看的,你不用unity你捣什么乱
正因为我不用 unity 所以才不对嘛。你又没说只能 unity 用。看上去那个环境变量可以用于判断桌面环境,但似乎支持不是很广泛的样子。

Re: [已解决]求脚本:不同的桌面环境自启动不同的程序

发表于 : 2012-08-17 13:14
YeLee
我这边是DESKTOP_SESSION。 :em06 :em06 :em06

Re: 求脚本:不同的桌面环境自启动不同的程序

发表于 : 2012-08-17 13:40
funicorn
对楼主来说足够了,这个变量在unity下的值是unity,在kde下是什么我不知道,但是我肯定它不会是unity
lilydjwg 写了:
funicorn 写了:
lilydjwg 写了:
funicorn 写了:
lilydjwg 写了:
funicorn 写了:
lilydjwg 写了:
funicorn 写了:

代码: 全选

$ echo $XDG_CURRENT_DESKTOP
空的
不可能,你确定用的是unity?
我确定不是。
那你前面说的不全是废话么,既然不用unity,把unity启动脚本删掉不就行了
我又没有 unity 启动脚本。你读帖不看发帖人的么?
那我一开始是回给楼主看的,你不用unity你捣什么乱
正因为我不用 unity 所以才不对嘛。你又没说只能 unity 用。看上去那个环境变量可以用于判断桌面环境,但似乎支持不是很广泛的样子。

Re: [已解决]求脚本:不同的桌面环境自启动不同的程序

发表于 : 2012-08-27 14:26
tusooa
以前写过wrapper。现在都不知道哪去了。