当前位置: 首页>>技术教程>>正文


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

, ,

问题描述

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

最佳解决方法

最后想出来..首先是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

nautilus,shortcut-keys,ubuntu

nautilus,shortcut-keys,ubuntu

Ubuntu 14.04及以上

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

  1. 通过执行nautilus -q来停止 nautilus

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

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

    ;(gtk_accel_path "<Actions>/DirViewActions/OpenInTerminal" "")
    
  4. 如果该行存在,请在第二个double-quoted段中添加键盘快捷键,并通过删除;取消注释该行:

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

    这将设置F12的快捷方式。有关所有可能密钥代码的列表,请咨询this answer

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

  5. 保存文件并通过单击启动器/破折号中的Nautilus图标重新启动Nautilus。

Ubuntu 15.10和16.04

这里,~/.config/nautilus/accels中的相关命令是TerminalNautilus:OpenFolderLocal。 (NautilusOpenTerminal::open_terminal仍然存在于文件中,但似乎没有任何影响。)所以按照上面的说明操作,除了更改行

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

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

使F12成为键盘快捷键。请注意,;再次被删除。

最后,注销以使更改生效。

次佳解决方法

使用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")

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

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

第三种解决方法

您也可以使用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 <jyuyu@fraguel.org>
# http://www.fraguel.org/~jyuyu/
# Licensed under the GPL v2+
#
# Modified by: Dexter Ang [thepoch@mydestiny.net]
# 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='$_'";
}

Instructions on installing the script and assigning a keyboard shortcut.

第四种方法

要扩展John F. Healy的帖子:

nautilus -q
sudo apt-get install nautilus-open-terminal
sed -i 's/; (gtk_accel_path "<Actions>\/ExtensionsMenuGroup\/NautilusOpenTerminal::open_terminal" "")/(gtk_accel_path "<Actions>\/ExtensionsMenuGroup\/NautilusOpenTerminal::open_terminal" "F12")/g' ~/.config/nautilus/accels

这应该适用于Ubuntu 14.10 Utopic Unicorn。最后一行编辑~/.config/nautilus/accels文件。要确保编辑成功,请尝试以下命令:

grep NautilusOpenTerminal::open_terminal ~/.config/nautilus/accels

第五种方法

从版本3.15.4开始,Nautilus不再加载accel文件(Source)

幸运的是,为了得到你想要的东西,有一个更好的方法。可以找到长解释/有用资源here以及here。简而言之:

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

    # !/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,右键单击,然后选择Scripts>终奌站。或者,使用刚刚配置的键盘快捷键:)

注意:在Ubuntu 18.04上测试过。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1532.html,未经允许,请勿转载。