如果从桌面单击“在终端中打开”,如何打开〜/ Desktop?


8

场景:

  1. 我在桌面上。
  2. 我单击鼠标右键,然后选择“在终端中打开”。
  3. 我设想这将打开终端~/Desktop而不是我的主文件夹。

系统:

  • Ubuntu 16.10
  • 统一
  • 鹦鹉螺

Ctrl-T进入新终端然后再进入$ cd Desktop真的快得多吗?在写完Des
tomph

Answers:


7

巧合地,这是一种快速简便的操作,因为我只需要更改一个脚本,我就已经有了一点:)。

该脚本假定您的桌面上至少有一项。

如何设定

  1. 创建目录(如果尚不存在) ~/.local/share/nautilus/scripts
  2. 将以下脚本复制到一个空文件中,另存为terminal_here2(无扩展名),然后使其可执行
  3. 注销并重新登录。

现在,右键单击桌面上的任何文件,然后选择Scripts-> open_terminal2

在此处输入图片说明

然后将在桌面目录中打开一个终端窗口(本例中为“ Bureaublad”)

剧本:

#!/usr/bin/env python3
import subprocess
import os

def replace(path):
    for c in [("%23", "#"), ("%5D", "]"), ("%5E", "^"),
              ("file://", ""), ("%20", " ")]:
        path = path.replace(c[0], c[1])
    return path

# get the current path
current = replace(os.getenv("NAUTILUS_SCRIPT_CURRENT_URI")) 
# raise the found terminal window
os.chdir(os.path.realpath(current))
subprocess.Popen("gnome-terminal")

1
您可能应该使用urllib.parse.unquote而不是手动替换%编码的字符
muru

谢谢!有没有办法使用已经存在的“在终端中打开”上下文菜单项?
orschiro

@orschiro恐怕这是在鹦鹉螺中硬编码的。显然,尽管NAUTILUS_SCRIPT_CURRENT_URI显示了正确的目录,但桌面在nautilus中并未归类为“正常”窗口。
Jacob Vlijm '17

您认为值得提出功能要求吗?该功能将按预期工作将是一致的。
orschiro

2
无需让Python进程一直运行就可以等待gnome-terminal终止,然后终止自身。相反,您可以调用os.execlp("gnome-terminal", "gnome-terminal")将替换为Python进程gnome-terminal
David Foerster

8

无脚本解决方案

  1. 在您的主文件夹中打开Nautiuls。
  2. 在主文件夹中,右键单击Desktop,然后单击Make link。您将看到Link to Desktop文件。
  3. 将链接放在桌面上。现在,无论何时右键单击它,然后选择Open in Terminal它,都将打开当前工作目录设置为桌面的终端。

这是一个聪明的解决方法!
orschiro

@orschiro谢谢,太快了。只需不到一分钟的时间即可完成设置。
Sergiy Kolodyazhnyy
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.