Chinaunix首页 | 论坛 | 博客
  • 博客访问: 66405
  • 博文数量: 14
  • 博客积分: 767
  • 博客等级: 上士
  • 技术积分: 190
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-20 22:45
文章分类
文章存档

2011年(6)

2010年(8)

分类: LINUX

2010-12-21 13:52:45

首发于红联:
==============================================================

清除KDE应用程序菜单

几天之前,为了安装一些KDE应用程序,我下载了KDE的库,使用命令sudo yum install  '*kde*devel*'来下载的,本来想只会下载devel文件的,没想到居然安装了很多程序,导致我的应用程序菜单非常繁杂,KDE和gnome的应用程序都出现在了菜单中,让我无可奈何。于是我开始想如何清除掉KDE的菜单,但是保留gnome菜单。网上搜索了很久,也尝试了很多方法,今天终于让我解决了这个问题。以下是我的详细的尝试过程,若只想看结果,可以直接跳到最后。
先简单介绍一下菜单:
菜单:
首先说菜单,菜单包含三个部分来完成。menu 文件用来把 desktop 文件集中起来形成菜单的样式。directory 文件用来描述菜单的目录层次结构,因为只有 desktop 文件的话就没有目录的层次结构了。

menu 文件的位置
全局:/etc/xdg/menus/
个人:~/.config/menus/

directory 文件的位置
全局:/usr/share/desktop-directories/
个人:~/.local/share/desktop-directories/

desktop 文件的位置
全局:/usr/share/applications/
个人:~/.local/share/applications/

例如 xfce4 的 menu 文件 /etc/xdg/menus/xfce-applications.menu
解释:
说的就是到默认的路径查找desktop 文件,也就是上面列出的目录。
到默认的路径查找directory 文件
可以直接插入一个 desktop 文件条目
可以直接插入一个指定 name 的 menu
合并所有其它 menu
说的是一个类别,它会扫描所有的 desktop 文件(可以去看一个 desktop 文件,它一般有一个变量就指定了程序应该属于的分类)。把它包含在 标识之间就是说在这里要插入所有 Category 是指定值的程序。

=======================================
我开始在三个文件夹中做文章,因为我对于.menu    .desktop 和.directory 文件不是很了解,所以不敢直接修改相关的文件内容。我开始用另外的方法,把这些文件备份,然后删除对应文件夹下的与kde相关的文。我开始对这三个文件夹逐一的尝试。
(1)/etc/xdg/menus/
applications.menu        kde4-applications.menu   server-settings.menu
applications-merged      kde-information.menu     settings.menu
documentation.menu       preferences.menu         settings-merged
gnomecc.menu             preferences-merged       start-here.menu
gnome-screensavers.menu  preferences-post-merged  system-settings.menu
带有kde的就是kde桌面的菜单文件,我首先采取的方法是把这两个文件分别重命名为kde4-applications.menu.bak    kde-information.menu.bak .注销用户后发现不行,kde的菜单还有。
(2)directory 文件的位置
全局:/usr/share/desktop-directories/      这个文件夹的内容特别多,
Accessories-More.directory                kde-graphics.directory
Advanced.directory                        kde-information.directory
Advanced-More.directory                   kde-internet.directory
AllPrograms.directory                     kde-internet-terminal.directory
AudioVideo.directory                      kde-main.directory
Desktop.directory                         kde-more.directory
Development.directory                     kde-multimedia.directory
Development-More.directory                kde-office.directory
Documentation.directory                   kde-science.directory
Documentation-More.directory              kde-settingsmenu.directory
Education.directory                       kde-system.directory
Edutainment.directory                     kde-system-terminal.directory
electronics-Analog.directory              kde-toys.directory
electronics-Automation.directory          kde-unknown.directory
electronics-Digital.directory             kde-utilities-accessibility.directory
Electronics.directory                     kde-utilities-desktop.directory
electronics-Embedded.directory            kde-utilities.directory
electronics-SchematicPCB.directory        kde-utilities-file.directory
electronics-Spice.directory               kde-utilities-peripherals.directory
Game.directory                            kde-utilities-pim.directory
Games-More.directory                      kde-utilities-xutils.directory
gnomecc.directory                         LookAndFeel.directory
gnome-screensaver.directory               Multimedia-More.directory
Graphics.directory                        Network.directory
Graphics-More.directory                   Office.directory
Hardware.directory                        Office-More.directory
InternetAndNetwork.directory              Personal.directory
Internet-More.directory                   Root.directory
kde-desktop-bak.tar.gz                          Sawfish.directory
kde-development.directory                 ServerConfig.directory
kde-development-translation.directory     ServerConfig-More.directory
kde-development-webdevelopment.directory  Settings.directory
kde-editors.directory                     Settings-More.directory
kde-education.directory                   Settings-System.directory
kde-edu-languages.directory               SystemConfig.directory
kde-edu-mathematics.directory             SystemConfig-More.directory
kde-edu-miscellaneous.directory           System.directory
kde-edu-science.directory                 System-More.directory
kde-edu-tools.directory                   System-Tools.directory
kde-games-arcade.directory                Utilities.directory
kde-games-board.directory                 Utilities-More.directory
kde-games-card.directory                  Utility-Accessibility.directory
kde-games.directory                       Utility.directory
kde-games-kids.directory                  Wine.directory
kde-games-logic.directory                 X-GNOME-Menu-Applications.directory
kde-games-roguelikes.directory            X-GNOME-Menu-System.directory
kde-games-strategy.directory              X-GNOME-Other.directory

       我采取的是把kde有关的文件打包,然后删除原来的文件。压缩包就是上面文件中的kde-desktop-bak.tar.gz。rm -f kde*.directory ,删除原来的文件。注销用户后再次进入系统,kde的应用程序菜单还有。
(3)desktop 文件的位置
全局:/usr/share/applications/
这个文件夹中的内容众多,其中有两个文件夹,kde和kde4  ,那么kde的desktop文件应该就在这两个文件夹中了,果然,这两个文件夹中有大量的.desktop文件,我首先是把这两个文件夹重命名。运行命令: mv  -R  kde/  kde-bak/  和  mv  -R kde4/  kde4-bak/分别进行重命名。注销用户有再次进入系统,问题依旧,kde菜单还是没有清除。

~~~~~~~~~~~~~~~~~~~~~~~时间一天一天的过去了~~~~~~~~~~~~~~~~~

问题的解决:

      这个问题困扰着我,今天我继续进行搜索,baidu和google都用上了,可是依旧是那几篇介绍的文章。我用cat打开了几个.menu文件来看,漫无目的的看,突然之间想到,.menu文件调用.desktop 文件时会不会是只要看到.desktop文件就调用呢?这样的话我即使重命名文件夹也无济于事,因为文件夹下的.desktop文件依然能够被调用读取。如果我让它不能读取kde的.desktop 文件会不会就好了呢?
      立即行动首先su - ,取得root权限,进入/usr/share/applications/目录使用命令chmod -R 000 kde/   和chmod -R 000 kde4/  把kde和kde4目录rwx的权限全部清除。然后注销用户,重新进入系统,世界干净了,kde的菜单没有了。这个时候我想,如果一开始我就一直用tar把kde和kde4两个文件夹备份,然后删除这两个文件夹,说不定早就解决问题了,可是当时我没有采取这个方法,于是这个问题就困扰了我到今天。
阅读(2883) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~