我希望能够使用键盘快捷键从我当前所在的任何目录打开终端。基于软件的方法不是一种选择,因为我无法在这台电脑上安装软件。这是一间办公室,我没有管理员权限。
第二个答案这个帖子指定如何设置键盘快捷键来打开终端,但事实证明它总是只在主目录中打开终端,所以这不是我想要的。
那么有没有办法仅使用键盘快捷键从任何目录打开终端?
答案1
如果您正在使用 Dolphin 文件管理器,则有一个内置的快捷方式Shift + F4
可以执行此操作。
答案2
编辑:
与@LuboKanev 不同,我理解 OP 的意思是:在当前工作目录中打开新终端的快捷方式,在当前活动终端中,而不是在文件管理器中(顺便说一句,在 KDE 中,另一个答案中指出了同样的技巧:在 Doplhin 中,您使用Shift+ F4;我相信任何像样的文件管理器都会提供这样的键)。
下面的脚本有点复杂,原因是:在当前活动窗口中,你可能有一个正在运行的任务(比如,你正在通过甚高频),因此您没有可用的提示;那么您如何检索您的残障人士无需等待任务完成,IE无需等待电影结束?剧本恰恰解决了这个问题。
以下脚本首先识别当前活动窗口,然后识别在其中运行的进程(如果是终端,它将类似于konsole
、或 或 ...),然后查找 的子进程,并且对于每个作为shell 的子进程,它都会找到其当前工作目录并在给定的当前目录中打开一个窗口。它对 执行此操作xterm
konsole/xterm/...
bash
konsole
全部发现 bash shell 已打开,而不仅仅是第一个。
#!/bin/bash
ACT_WIN=$(xdotool getactivewindow)
MY_PPID=$(xprop -id $ACT_WIN _NET_WM_PID | awk '{print $3}')
for i in $(pgrep -P $MY_PPID); do
ps -o cmd -p "$i" | grep bash > /dev/null
if [ $? -eq 0 ]; then
MYPWD=$(readlink -e /proc/$i/cwd)
konsole --workdir $MYPWD 2>/dev/null & disown
fi
done
小心,上面没有错误检查....
这个脚本的好处是,如果当前活动窗口不是终端,那么它就不会产生狂欢shell,什么也不会发生。然后,您可以用鼠标单击您的终端(该终端将成为当前活动目录),然后重新发送快捷方式:然后,您将获得您的终端和正确的目录。
使此脚本可执行后,您可以将其与键盘快捷键关联;这取决于 DM。对于 KDE,请转到System Settings -> Shortcuts and Gestures -> Custom Shortcuts -> Edit (in the lower left corner) -> New -> Global -Shortcut -> Command/URL
。在 下New Action
,选择Comment
解释您正在做什么,然后选择trigger
(命令,例如Alt+ F10),然后在操作下,输入上述可执行脚本的绝对路径。