Linux下设定文件与程序之间的关联

其他Linux/Unix/BSD/OSX等发行版讨论
头像
kakashiljf
帖子: 314
注册时间: 2008-10-14 16:36

Linux下设定文件与程序之间的关联

#1

帖子 kakashiljf » 2010-08-28 20:56

不知道发到哪个版块,最近在使用Arch,就发到这里吧,我在网上也很少找到资料,所以这里写一下,希望能帮助后来的人

好吧,闲话不说。想必用过Ubuntu的人,都使用过Ubuntu tweak吧,它有一个功能,就是调整文件类型与应用程序间关联的功能。比如一个rmvb文件,如果你系统有vlc和smplayer,默认情况下可能使用smplayer打开,可是,如果你想调整,即希望用vlc播放器来播放rmvb文件,而不是smplayer,你可以使用Ubuntu tweak的这个功能来实现。另外,你也可以直接点该rmvb文件,然后在右键属性那选择使用那个应用程序打开这种类型的文件。

不过,如果你不能使用Ubuntu tweak,同时,在你的“属性”中所能选择的程序列表中也找不到你希望打开这类文件的应用程序时,你应该如何是好呢?本人正是遇到这个问题,所以才发现了今天的这个方法(可能有人已经很早就知道,不过我实在是Google不到啊…… :em06

我的问题就是,我安装了 Arch,然后通过非pacman或yaourt的方式安装了FoxitReader,可是我希望双击PDF文件时,可以自动调用该程序来打开它。但是,右键中没有显示这个程序,也不能在“属性”的程序菜单中找到,Open With的程序列表或者命令中都无法使用(可以看这个帖子:viewtopic.php?f=155&t=290888)。唯一的办法就是首先打开FoxitReader程序,然后再去到目录下去寻找我需要打开的PDF文件。

好吧,问题就是这样。然后经过相当久的摸索,发现了两篇比较有参考价值的帖子:
http://www.linuxsir.org/bbs/showthread.php?t=134703
http://home.phpchina.com/space.php?uid= ... &id=182851

初看两篇帖子好像已经很好地指明了方向,可是按照他们的描述去操作后,仍然无法解决我的问题。
就这样放了两天,突然想起我的计算机上还有个Ubuntu10.04,于是直接去查看Ubuntu10.04下对应的文件,终于找到问题的所在——我的Arch的/usr/share/applications/下没有建立属于FoxitReader的desktop文件。

下面给出我完整地解决这个问题的办法:

1.首先在/usr/share/applications下建立FoxitReader.desktop文件,内容如下:

代码: 全选

[Desktop Entry]
Version=1.0
Encoding=UTF-8
Name=FoxitReader
Type=Application
GenericName=Foxit PDF Reader
Comment=Read PDF Document
Exec=FoxitReader %F
StartupNotify=true
Icon=/usr/share/pixmaps/fx-icon.png
Terminal=false
Categories=GNOME;GTK;Application;Office;Viewer;
MimeType=application/pdf;application/x-bzpdf;application/x-gzpdf;
Comment[zh_CN]=Read PDF Document
GenericName[zh_CN]=Foxit PDF Reader
值得注意的是Exec的值,如果应用程序在PATH路径下,那就不需要写完整路径,否则写上程序的完整路径。Icon也可以有可以无,没有关系。

2.然后修改/usr/share/applications/defaults.list文件,找到这一行(可能等号后面的值不相同,具体视你安装了什么软件而定,因为我安装了的evince可以用来看pdf,所以系统产生了这个值):

代码: 全选

application/pdf=evince.desktop
然后在“=”号后面添加刚才你建立的desktop文件的名字,即:

代码: 全选

application/pdf=FoxitReader.desktop;evince.desktop
保存。

3.修改~/.local/share/applications/mimeapps.list文件,在[Added Associations]这个标题下添加刚才那行(如果有对应的application/pdf,则修改成上述步骤那行一样),即:

代码: 全选

[Added Associations]

.......
application/pdf=FoxitReader.desktop;evince.desktop
.......

保存。

4.然后就是见证奇迹的时候了——随便找个PDF文件,然后双击试试,哈哈,调用FoxitReader来打开啦! :em11
而且“属性”的应用程序选择菜单上也出现了FoxitReader这个选项了,右键菜单中FoxitReader也排在了默认打开程序的位置上! :em05




:em19 只能选择evince程序打开PDF文件:
P1.png
:em05 终于能选择使用FoxitReader打开PDF文件啦:
P2.png
学习知识本身其实是个痛苦的过程,但运用知识的过程,一般都很有趣,往往值得忍受当初那些“痛苦的学习过程”。
头像
枫叶饭团
帖子: 14683
注册时间: 2010-06-16 1:05
系统: Mac OS X
来自: Tencent
联系:

Re: Linux下设定文件与程序之间的关联

#2

帖子 枫叶饭团 » 2010-08-28 21:32

mark :em11
头像
susbarbatus
帖子: 2966
注册时间: 2010-04-10 16:14
系统: Arch Linux

Re: Linux下设定文件与程序之间的关联

#3

帖子 susbarbatus » 2010-08-28 21:36

:em06 没遇到过自定义命令不行的情况
沉迷将棋中……
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: Linux下设定文件与程序之间的关联

#4

帖子 eexpress » 2010-08-28 21:39

你先看你的fm,遵循标准的xdg-mime不。
没搞清这点,啥都说了没用。
● 鸣学
头像
kakashiljf
帖子: 314
注册时间: 2008-10-14 16:36

Re: Linux下设定文件与程序之间的关联

#5

帖子 kakashiljf » 2010-08-28 22:01

eexpress 写了:你先看你的fm,遵循标准的xdg-mime不。
没搞清这点,啥都说了没用。
谢谢ee的提醒,我当时也在想到底是不是在其他Linux环境下也能用。我使用的是pcmanfm……当时也是作个尝试,结果就成功了。xdg-mime标准还没有了解多少 :em06 ,找个时间去看看。


PS:开学又到了,又要面对那一堆堆讨厌的医学书…… :em19
学习知识本身其实是个痛苦的过程,但运用知识的过程,一般都很有趣,往往值得忍受当初那些“痛苦的学习过程”。
jr0501
帖子: 132
注册时间: 2009-10-31 12:00

Re: Linux下设定文件与程序之间的关联

#6

帖子 jr0501 » 2010-08-29 11:35

又学会一招。
头像
梨,半斤
帖子: 438
注册时间: 2009-03-08 22:37

Re: Linux下设定文件与程序之间的关联

#7

帖子 梨,半斤 » 2010-09-02 18:49

yaourt -Ss gnome-default-list
curator
帖子: 384
注册时间: 2010-08-30 10:26

Re: Linux下设定文件与程序之间的关联

#8

帖子 curator » 2010-09-02 18:59

gnome的,记得右键preferences就可以设置

lz头像,隔行扫描?
我想死
头像
kakashiljf
帖子: 314
注册时间: 2008-10-14 16:36

Re: Linux下设定文件与程序之间的关联

#9

帖子 kakashiljf » 2010-09-02 23:47

curator 写了:gnome的,记得右键preferences就可以设置

lz头像,隔行扫描?
本人环境 openbox :em06
学习知识本身其实是个痛苦的过程,但运用知识的过程,一般都很有趣,往往值得忍受当初那些“痛苦的学习过程”。
头像
Lavande
论坛版主
帖子: 5352
注册时间: 2008-12-21 15:27
来自: TARDIS

Re: Linux下设定文件与程序之间的关联

#10

帖子 Lavande » 2011-06-01 19:24

mark 问题是我foxit打不开……
头像
bbeikke
帖子: 880
注册时间: 2008-10-14 21:54

Re: Linux下设定文件与程序之间的关联

#11

帖子 bbeikke » 2011-10-16 14:49

ubuntu 11.10 右键属性不怎么好使...
试试这个方法
mark
地狱可以想象,天堂却无法描述。
Flashboy
帖子: 52
注册时间: 2007-03-31 10:01

Re: Linux下设定文件与程序之间的关联

#12

帖子 Flashboy » 2011-10-19 22:01

学习,mark一下。
头像
YeLee
论坛版主
帖子: 26406
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
联系:

Re: Linux下设定文件与程序之间的关联

#13

帖子 YeLee » 2011-10-19 23:03

学习了 :em11 :em11 :em11
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
xibei
帖子: 281
注册时间: 2011-11-11 20:00
系统: LINUX

Re: Linux下设定文件与程序之间的关联

#14

帖子 xibei » 2013-12-15 0:10

我想关联texmacs和它的tm文件,按照楼主说的方法还是不行,右键找不到texmacs程序。。。。
jinjiachen
帖子: 2148
注册时间: 2012-12-16 15:43
系统: debian

Re: Linux下设定文件与程序之间的关联

#15

帖子 jinjiachen » 2013-12-15 10:03

以备不时之需
回复