如何运行 Dolphin 而不是 Nautilus?

Jos*_*son 8 nautilus dolphin filemanager

出于各种原因,一个是我更喜欢它,我想在股票 Ubuntu 12.04 中运行 Dolphin 作为我的默认文件管理器。我已经安装了海豚。

我弄完了:

sudo mv /usr/bin/nautilus /usr/bin/natilus.back && sudo ln -s /usr/bin/dolphin /usr/bin/nautilus
Run Code Online (Sandbox Code Playgroud)

这使得任何调用 Nautilus 的程序都打开 Dolphin。到目前为止,这一切都很好,但 dolphin 想调用 konsole 作为默认终端,但我想让它调用 gnome-terminal 作为默认终端。

我试过:

sudo ln -s /usr/bin/gnome-terminal /usr/bin/konsole
Run Code Online (Sandbox Code Playgroud)

制作一个名为 konsole 的 gnome-terminal 链接,但这不起作用。我不再从 Dolphin 收到错误消息,但什么也没发生。终端面板是空白的。

任何人都知道如何做到这一点,或者是否有更好的方法将 dolphin 实现为默认 FM,我全都在听。


更新 20120727

从那以后我意识到我一开始就没有使用符号链接。相反,我使用了更聪明的方法

  1. 在您的主目录中创建一个名为 bin 的文件夹

    mkdir ~/bin
    
    Run Code Online (Sandbox Code Playgroud)
  2. 制作一个名为 Nautilus 的脚本来执行 Dolphin 并将其放在此文件夹中

    gedit ~/bin/nautilus
    
    Run Code Online (Sandbox Code Playgroud)

    然后把这段代码复制进去保存

    #!/bin/bash
    exec dolphin $@
    exit 0
    
    Run Code Online (Sandbox Code Playgroud)

这是将 Dolphin 设为默认浏览器的最安全方法,也可以进入/usr/share/applications文件夹并更改 3 个 nautilus .desktop 文件以启动 Dolphin 而不是 Nautilus。

但这并不能解决 Dolphin 的两个问题

  1. 它想启动 konsole 终端而不是 gnome-terminal。
  2. 它的图标很可怕,qt4-qtconfig 无法更改它们。

更新 20120810

要修复丑陋的氧气图标以匹配您的系统主题,qt4-qtconfig 工具是不够的。您将需要安装 KDE 系统设置应用程序

sudo apt-get install systemsettings 
Run Code Online (Sandbox Code Playgroud)

启动应用程序
从那里转到应用程序外观>图标并根据需要进行更改

我在 Ubuntu 12.04 GNOME-SHELL 中的默认文件管理器现在是 QT DOLPHIN 文件管理器。我是天才!!!!这工作完美!谢谢大家!!

Izz*_*zzy 7

您尝试执行的操作有几个注意事项。我已经提到了你的方法带来的危险:

下次更新 nautilus 时,您的 dolphin 将被覆盖(因为您的链接指向那里)。gnome-terminal 也是如此。

所以我们想,这不是一个好主意:)

但是有一些方法可以尝试解决,因此在请求“z”时会运行“x”——但我不知道任何尽快不是“z”,而是“/full/path/to/z”被调用。只要它只是“z”:

  • 为 z创建别名,例如alias z=x(适用于每个用户级别 - 或全局,取决于它的定义位置)
  • 在实际 z 所在的位置之前,在 PATH 中提到的位置中为 z 创建“替换”

关于第二种方法的更多细节。考虑您最初的问题,您希望在调用 nautilus 时执行 dolphin。您已经在 找到了 nautilus /usr/bin/nautilus。现在让我们(可能正确地)假设您的$PATHcontains(按此顺序)/usr/local/bin:/usr/bin- 所以您会看到/usr/local/bin /usr/bin. 所以我们简单地创建一个shell脚本/usr/local/bin/nautilus,内容如下:

#!/bin/bash
/usr/bin/dolphin %$@
Run Code Online (Sandbox Code Playgroud)

那么会发生什么?如果您(或某些脚本/程序/守护程序/...)调用nautilus,这将执行/usr/local/bin/nautilus(因为这是在 PATH 中找到的第一个“鹦鹉螺”),它只是启动/usr/bin/dolphin- 瞧!但是如果“whatever”使用完整路径,这将不起作用。

所以你说:嘿,为什么 Izzy 不说“就做一个ln -s /usr/bin/dolphin /usr/local/bin/nautilus?” 当然你可以做到这一点——它的工作原理是一样的。但是,如果您需要引入原始调用传递的其他参数,则使用如图所示的脚本可能会派上用场。使用上面的脚本,dolphin 只需传递与原始调用相同的参数 ( %$@)。但是你可以在脚本中处理一些东西,替换参数等。至于你当前的问题,链接就足够了(只要 nautilus 没有被完整路径调用)。