设置在特定目录中打开终端的快捷方式

设置在特定目录中打开终端的快捷方式

据我所知,当你点击 时Ctrl+Alt+T,Linux 终端就会弹出。但是,它会在默认主目录中打开。我想设置此快捷方式以在文件管理器当前所在的目录中打开。有什么办法可以做到这一点吗?我知道如果我右键单击目录上的任意位置,它会给我一个选项来执行此操作。但我想用键盘做事。

经过网络搜索后,我发现了这篇文章如何在 Linux 中打开终端到特定目录。但在这里,快捷方式被映射为在另一个特定目录中打开。因此,每当我想在特定目录中打开终端时,它都需要我更改 .bashrc 文件。

我的桌面环境是 KDE,我使用 Dolphin 文件管理器。我的终端模拟器是 Konsole。

有什么办法可以实现我想要的吗?让我知道。提前致谢。

答案1

如果您使用 Caja,有一个带Menu按键的键盘,并且安装并启用了 Caja“打开终端”扩展,您可以通过按 键Menu然后按t键执行您想要的操作。

如果您使用的是古董键盘、笔记本电脑或其他没有Menu按键的键盘,则可以使用组合键Shift+F10代替Menu按键。

“打开终端”扩展在 Caja 的上下文菜单(即“右键单击”菜单)中放置了一个“在终端中打开”选项,可通过上述按键序列访问该选项。启用扩展后,可能需要重新启动 Caja 才能显示该选项。

答案2

我找到了解决问题的方法,将其发布在这里!我的文件管理器是 Caja,运行的是 Ubuntu-Mate。

在这个网站'open-terminal-here'我发现他们要求我在文件夹中创建一个名为'.config/caja/scripts/'.但我看到这个文件夹已经存在于我的电脑中,并且他们要求我写的相同文本也写在那里。

#!/bin/sh
#
# This script opens a gnome-terminal in the current directory. 
#
# Distributed under the terms of GNU GPL version 2 or later
#
# Original author: Keith Conger <[email protected]>
#
# Sourced from
# https://forums.linuxmint.com/viewtopic.php?p=773382&sid=9939ce160bd97313f849367231eb721a#p773382
# http://g-scripts.sourceforge.net/nautilus-scripts/Execute/Open%20terminal/terminal-here
#
# Put this file in your ~/.config/caja/scripts/ directory.
# You need to have caja-actions installed to use scripts.

cd $CAJA_SCRIPT_CURRENT_URI
exec gnome-terminal

然后,按照下一步中的建议,我转到文件夹'.config/caja/'并使用 vim(或任何其他编辑器)在该文件中打开名为“accels”的文件,我可以看到有关在当前目录中创建打开终端的快捷方式的行,我感到惊讶。在这个文件中,所有行都以分号(;)开头,我了解到这意味着它是注释行。

所以我找到了这一行

; (gtk_accel_path "<Actions>/ScriptsGroup/script_file:\\s\\s\\shome\\sUSERNAME\\s.config\\scaja\\sscripts\\sopen-terminal-here" " ")

*用户名将是您的用户名

并删除了行尾的“:”和空格

现在,在第二个引用的括号内,我放置了我需要的快捷方式。我用过"<Shift>F4"(这是因为我是从Opensuse使用它的)

现在,该行看起来像这样:

(gtk_accel_path "<Actions>/ScriptsGroup/script_file:\\s\\s\\shome\\sUSERNAME\\s.config\\scaja\\sscripts\\sopen-terminal-here" "<Shift>F4")

保存此文件时,我没有遇到任何问题。但我在使用命令执行此操作时让 caja 所有进程都被杀死

pkill -KILL caja
killall caja

我使用了两者,因为我不确定哪个效果更好。

然而,从我之前提到的帖子来看,似乎有些人在编辑文件时仍然会遇到问题,它会自动重写。在这种情况下,请尝试按照本节中说明的步骤进行操作。在某些时候,我想我也使用过它,一开始,我能够正确保存更改。

现在,从技术上讲,快捷方式已编写并且应该可以工作,但事实并非如此:(

我意识到我们在脚本文件夹中创建的文件'open-terminal-here'最初应该是可执行文件。但是,我强制通过运行命令再次使其成为可执行文件

chmod +x .config/caja/scripts/open-terminal-here

现在,出于好奇,我尝试从终端从我的主文件夹运行此可执行文件。因此,我在文件夹中有可执行文件“open-terminal-here” '.config/caja/scripts/'。现在我只是跑了

.config/caja/scripts/open-terminal-here

它尝试运行它,但显示了一个错误,这成为我问题的最终解决方案。它告诉我找不到'gnome-terminal'

然后我检查了 top,看看我的终端打开时正在运行什么程序,它说是 mate-terminal。所以,我直接回到文件'.config/caja/scripts/open-terminal-here'并编辑最后一行

exec mate-terminal

注意:以前默认是 gnome-terminal

现在我在任何文件夹中尝试了我的快捷方式,效果很好!

答案3

在 Ubuntu 中(或者更准确地说,在运行 Gnome 时),您可以使用以下--working-directory参数:

gnome-terminal --working-directory=$HOME/tmp

嗯...这可以从命令行运行。因此,如果您想编写一个脚本(并从命令行运行它)来打开一个新终端(带有所需的目录),就可以了。

如果您想让它成为可双击的快捷方式...那么,这个选项占了您答案的 50%。现在您需要将此[假设]脚本制作为可双击的快捷方式。

哦,并找出 KDE/Konsole 下的等效项。所以也许这只是 20% 的答案! (但是……如果有人带着与 Ubuntu/Gnome 相同的问题登陆此页面,那么很有用……就像我一样!)

答案4

我在 openSUSE Leap 15.3 中使用 mate 桌面。文件管理器是caja。如果您在文件管理器中设置了“打开终端”选项,则可以右键单击任何目录并选择“终端”,然后在该目录中打开一个终端窗口。

我偶尔也会使用 kde 和 gnome,但我还没有测试这些文件管理器来查看“打开终端”选项是否可用。我假设所有台式机都可用。

汤姆·科斯维奇

相关内容