デスクトップから「ターミナルで開く」をクリックした場合、どうすれば〜/ Desktopを開くことができますか?


8

シナリオ:

  1. デスクトップにいます。
  2. 右クリックして「ターミナルで開く」を選択します。
  3. これ~/Desktopは、ホームフォルダーではなくターミナルを開くことを想定しています。

システム:

  • Ubuntu 16.10
  • ユニティ
  • ノーチラス

Ctrl-Tを新しい端末に入力してから$ cd Desktopを実行する方がはるかに高速ではありませんか?Desを書いた後、おそらくタブ
補完

回答:


7

偶然にすばやく簡単にできたのは、すでに少し変更したスクリプトを変更するだけだったからです:)。

このスクリプトは、デスクトップに少なくとも1つのアイテムがあることを前提としています。

設定方法

  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でハードコーディングされていると思います。明らかに、デスクトップはnautilusでは「通常の」ウィンドウとして分類されていませんNAUTILUS_SCRIPT_CURRENT_URIが、正しいディレクトリを示しています。
Jacob Vlijm 2017年

機能リクエストを提出する価値があると思いますか?この機能が期待どおりに機能することは一貫しています。
orschiro

2
gnome-terminal終了を待ってから終了するためだけに、Pythonプロセスを実行し続ける必要はありません。代わりにを呼び出しos.execlp("gnome-terminal", "gnome-terminal")て、Pythonプロセスをに置き換えることができますgnome-terminal
David Foerster 2017年

8

スクリプトなしのソリューション

  1. ホームフォルダでNautiulsを開きます。
  2. ホームフォルダーで、を右クリックしDesktop、をクリックしますMake linkLink to Desktopファイルが表示されます。
  3. デスクトップにリンクを配置します。これを右クリックして選択Open in Terminalすると、現在の作業ディレクトリがデスクトップとして設定されたターミナルが開きます。

これは賢い回避策です!
orschiro

@orschiroありがとう、それも速いです。設定に1分もかかりません。
Sergiy Kolodyazhnyy 2017年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.