Fedora 17,“打开包含文件夹”,在 Dolphin 中打开,而不是在 Konqueror 中打开

Fedora 17,“打开包含文件夹”,在 Dolphin 中打开,而不是在 Konqueror 中打开

在 KDE 中,如何指定当选择“打开包含文件夹”Fedora 17 时 Firefox 使用哪个文件浏览器?

这不是一个小问题,Fedora 中的 Firefox(我的是 14.0.1)似乎对要使用的文件管理器进行了硬编码。令人惊讶的是,Firefox 坚持使用 IT 想要的文件管理器,而不是您想要的文件管理器。

问题是 Firefox 是一个 GNOME 应用程序,并且设计为在 GNOME 中运行,因此当您在 KDE 环境中运行它时,它很难选择文件管理器。我正在寻找解决方法。

我的 Firefox 坚持使用 Dolphin,我不会使用 Dolphin,我希望它使用 konqueror

截屏:
在此处输入图片描述

答案1

有两种方法可以解决此问题:

选项 1. 从 dolphin 二进制文件创建一个软链接以使其运行 konqueror:

cd /usr/bin
mv dolphin dolphin.bak
ln -s dolphin konqueror

这是一种令人厌恶的黑客行为。因此 Firefox 会通过执行 /usr/bin/dolphin 来认为它正在运行 dolphin,但我们诱骗它运行 Konqueror。请记住,dolphin 的升级可能会覆盖 /usr/bin/dolphin,因此在这种情况下您必须将其重新软链接到 konqueror。

选项 2,尝试诱骗 Firefox 请求文件管理器的帮助

(更新 -> 此选项 2 仅暂时有效,直到您重新启动,Firefox 将在重新启动后在未经您同意的情况下切换到它想要使用的文件管理器)。

在 Fedora 17 中,如果您突然删除正在使用的文件管理器,Firefox 可能会要求用户帮助选择文件管理器。就我而言,Firefox 使用的是 Dolphin,所以我删除了它:

在终端中:

su
<enter password>
yum remove dolphin

我发现它还删除了终端、konqueror 和许多其他应用程序!这让我拍了拍额头,然而,下次我尝试打开包含文件夹时,Firefox 会向我显示以下内容:

在此处输入图片描述

然后,我必须用这个重新安装 konqueror:

yum install konqueror

速度非常快。我在 /usr/bin/konqueror 中选择了它。一切就绪,打开包含文件夹使用 Konqueror。

答案2

创建自己的自定义 bash 脚本来打开正确的文件管理器

提供了一个 bash 脚本来确定“谁调用了 dolphin”,如果是 Firefox,则劫持它并运行指定的文件管理器,否则运行不同的文件管理器。

这个怎么做:

  1. 转到你的用户目录,我的是 /usr/home/el

  2. 在那里创建一个名为“bin”的新文件夹(如果还没有):/usr/home/el/bin

  3. 在其中创建一个名为“dolphin”的新文件,它的名称必须与 Firefox 默认使用的名称完全相同,在我的情况下为:/usr/bin/dolphin。

  4. 执行此命令:

    chmod u+x /home/el/bin/dolphin
    
  5. 确保海豚文件的权限是(-rwxrw-r--)

  6. 将以下几行命令放入 /home/el/bin/dolphin bash 文件中:

    #!/bin/bash
    PARENTNAME=$(ps -eo "%p %c" | grep $PPID | cut -f2 --delimiter=" ")
    if [ "$PPID" -eq "1" ]
    then
      PARENTFOLDER=$(ps -eo "%p  %a" | grep nautilus | grep no-desktop | head -n1 | sed 's/^.*file:\/\///') 
      # This is likely to contain URL-encoded strings
      PARENTFOLDER="$(echo -ne ${PARENTFOLDER//%/\\x})" 
      # ${STRING//search/replace} replaces URL-Encoded strings  (%xx) by 
      # their respective \xHH notation, which "echo -e" replaces with 
      # the appropriate character
      #konqueror "$PARENTFOLDER" --profile downloads &  #use this if you have a konqueror profile
      konqueror "/home/el/Downloads" &    #this just hardcodes a directory firefox saves to.
    else
      /usr/bin/nautilus &
    fi
    
  7. 注意 konqueror 和 nautilus 行,它们可以更改为您选择的文件管理器。

  8. 在您的主目录中,编辑您的 /home/el/.bashrc 文件。将以下行添加到末尾。

     PATH=/home/el/bin:$PATH
    
  9. 基本上,这样做的目的是让系统在 /usr/bin 中搜索之前先检查 /home/el/bin 目录中是否有 dolphin。以这种方式设置 PATH 意味着将执行您的 /home/el/bin/dolphin 文件,而不是 /usr/bin/dolphin 中的文件。提供的代码运行,并执行正确的文件管理器,并传递 Firefox 的参数。

  10. 重新启动计算机,运行 Firefox,转到工具->下载管理器,右键单击->“打开包含文件夹”,然后默认为 konqueror。

截图证明:

在此处输入图片描述

我认为 Linux Firefox 在这方面如此顽固的原因在于:如果你想让计算机掌控你的生活,那就使用 Windows。如果你想成为那种知道如何在幕后创造奇迹的人,那就使用 Linux。你在试图征服 Firefox 的过程中培养的技能将在将来需要将两个不同的系统粘合在一起时为你提供许多帮助。

要么就是这样,要么就是 Firefox Linux 开发人员故意这样做的,因为他们讨厌 KDE 用户。

来源:

http://www.linuxquestions.org/questions/linux-software-2/firefox-iceweasel-workaround-open-containing-folder-with-user-defined-filemanager-903126/

答案3

您应该定义 xdg-open 变量来使用 konqueror 打开。

  1. 创建*.desktopKonqueror 文件。这可以通过将 Konqueror 添加到桌面来完成。在 Trinity Desktop 中,您可以通过转到 T 菜单并右键单击 Konqueror 并选择 来完成此操作Add Item to Desktop
  2. .desktop将文件(我的是)移动konqbrowser.desktop/usr/share/applications/~/.local/share/applications/
  3. 运行xdg-mime default konqbrowser.desktop inode/directory后您的目录链接将通过 Konqueror 打开。

更多信息请见此处https://wiki.archlinux.org/index.php/xdg-open

笔记:如果无法创建.desktop,请使用文本编辑器创建一个.desktop文件,例如一个konqbrowser.desktop文件,然后将以下内容粘贴到该文件中:

[Desktop Entry]  
Type=Application  
Exec=kfmclient openProfile webbrowsing  
Icon=konqueror  
X-DocPath=konqueror/index.html  
Name=Konqueror

相关内容