“在此打开终端”的键盘快捷键

“在此打开终端”的键盘快捷键

我如何创建键盘快捷键,以便当我F12在 nautilus(或桌面)中按下时,可以在当前目录中获得一个终端?

答案1

编辑:不再适用于 Ubuntu 16.10 及更新版本

终于搞明白了。首先sudo apt-get install dconf-tools nautilus-open-terminal,然后运行dconf-editor并设置org/gnome/desktop/interface/can-change-accels布尔值。然后使用此命令打开 nautilus(暂时禁用 Unity 全局菜单):

nautilus -q
UBUNTU_MENUPROXY=0 nautilus

现在您可以将鼠标悬停在文件菜单中的操作上,并在操作突出显示时键入您的键来更改加速度,最后重新启动您的 nautilus。如果您在文件菜单中没有看到在终端中打开并且您刚刚安装了nautilus-open-terminal,您可能需要先运行nautilus -q

在此处输入图片描述

在此处输入图片描述

Ubuntu 14.04 及更高版本

如果您在 dconf 配置中找不到can-change-accels密钥,您可以尝试以下解决方案:

  1. 通过执行停止 nautilusnautilus -q

  2. ~/.config/nautilus/accels在您选择的文本编辑器中打开,例如 gedit:

     gedit ~/.config/nautilus/accels
    
  3. 尝试看看是否可以找到以下行:

     ;(gtk_accel_path "<Actions>/DirViewActions/OpenInTerminal" "")
    
  4. 如果该行存在,请在第二个双引号段中添加键盘快捷键,然后通过删除以下内容取消注释该行;

     (gtk_accel_path "<Actions>/DirViewActions/OpenInTerminal" "F12")
    

    这会将快捷键设置为F12。有关所有可能的键代码的列表,请参阅 这个答案

    如果该行不存在,只需复制并粘贴在文件末尾找到的该行。

  5. 保存文件并通过单击启动器/仪表板中的 Nautilus 图标重新启动 Nautilus。

Ubuntu 15.10 和 16.04

这里,相关的命令~/.config/nautilus/accelsTerminalNautilus:OpenFolderLocal。(NautilusOpenTerminal::open_terminal仍然存在于文件中,但似乎没有任何效果。)因此,请按照上面的说明进行操作,但要更改行

; (gtk_accel_path "<Actions>/ExtensionsMenuGroup/TerminalNautilus:OpenFolderLocal" "")

(gtk_accel_path "<Actions>/ExtensionsMenuGroup/TerminalNautilus:OpenFolderLocal" "F12")

将 F12 设为键盘快捷键。请注意,该快捷键;再次被删除。

最后,登出以使更改生效。

答案2

从 3.15.4 版本开始,Nautilus 不再加载加速度计文件(来源)

幸运的是,有更好的方法可以实现你想要的效果。可以找到详细的解释/有用的资源这里并且这里。 简而言之:

  1. Terminal在文件夹内创建一个名为(是的,没有扩展名)的脚本~/.local/share/nautilus/scripts,内容如下:

    #!/bin/sh
    gnome-terminal
    
  2. 使其可执行,然后关闭任何 Nautilus 实例:

    $ chmod +x Terminal
    $ nautilus -q
    
  3. 创建(或编辑)~/.config/nautilus/scripts-accels文件并添加以下行:

    F12 Terminal
    ; Commented lines must have a space after the semicolon
    ; Examples of other key combinations:
    ; <Control>F12 Terminal
    ; <Alt>F12 Terminal
    ; <Shift>F12 Terminal
    
  4. 测试一下!打开 Nautilus,右键单击,然后选择脚本 > 终端。或者,使用您刚刚配置的键盘快捷键 :)

笔记:在 Ubuntu 18.04 上测试。

更新 Ubuntu 20.10:不幸的是,这在 Nautilus 3.38(Ubuntu 20.10)中不再起作用。

更新 Ubuntu 21.10:幸运的是,该scripts-accels文件在 Files 40(Ubuntu 21.10)中再次有效

答案3

使用 dconf-editor 方法似乎在 Trusty Gnome 中不起作用。但下面的方法可以:

在你的主目录中按 Ctrl+h,打开 .config 文件夹、nautilus 文件夹和 accels 文件;

即打开~/.config/nautilus/accels并更改行:

; (gtk_accel_path "<Actions>/ExtensionsMenuGroup/NautilusOpenTerminal::open_terminal" "")

(gtk_accel_path "<Actions>/ExtensionsMenuGroup/NautilusOpenTerminal::open_terminal" "F12")

请注意,注释分隔符已被删除。

保存文件,注销并重新登录。

答案4

您还可以使用 nautilus 脚本,而不是专用扩展:

#!/usr/bin/perl -w
#
# Open terminal here
#
# Nautilus script that opens a gnome-terminal at the current location, if it's
# a valid one. This could be done in shell script, but I love Perl!.
#
# 20020930 -- Javier Donaire <[email protected]>
# http://www.fraguel.org/~jyuyu/
# Licensed under the GPL v2+
#
# Modified by: Dexter Ang [[email protected]]
# 2003-12-08: Modified for Gnome 2.4
#       - Added checking if executed on Desktop "x-nautilus-desktop:///"
#         so that it opens in /home/{user}/Desktop

use strict;

$_ = $ENV{'NAUTILUS_SCRIPT_CURRENT_URI'};
if ($_ and m#^file:///#) {
  s/%([0-9A-Fa-f]{2})/chr(hex($1))/eg;
  s#^file://##;
  exec "gnome-terminal --working-directory='$_'";
}

# Added 2003-12-08 Dexter Ang
if ($_ == "x-nautilus-desktop:///") {
  $_ = $ENV{'HOME'};
  $_ = $_.'/Desktop';
  exec "gnome-terminal --working-directory='$_'";
}

有关安装脚本和分配键盘快捷键的说明。

相关内容