コマンドラインとグラフィカルファイルブラウザの良い組み合わせはありますか?


15

コマンドラインとグラフィカルファイルブラウザの利点を組み合わせた実行可能なソリューションはありますか?

たとえば、コマンドラインはディレクトリを変更してコマンドを実行するのに適していますが、サムネイルを表示できず、ファイルブラウザーは直感的で、ツリー内のどこにいるかの概要を提供しますが、コマンドラインのようなコンピューター。

編集:私にとって、コマンドラインユーザーとしては、コマンドライン機能を備えたファイルブラウザよりも、追加のファイルブラウザ機能を備えたコマンドラインを必要とすることに似ています。

回答:


9

ドルフィンはあなたが探しているもののように見えます:

ただし、ターミナルはそのディレクトリナビゲーションのスレーブです(GUIでディレクトリを変更すると、ターミナルでも変更されますが、その逆は行われません)。

ターミナルの現在のディレクトリを変更するときにアプリケーションディレクトリを変更するには、シェルからDolphinにメッセージを送信させてビューを更新します。これをシェルのrcファイルに追加します(警告:完全にはテストされていませんが、最も一般的な状況ではここで機能します。ご自身の責任で使用してください):

バッシュ:

if [ -n "$KONSOLE_DBUS_SERVICE" ]; then
  if qdbus "$KONSOLE_DBUS_SERVICE" /dolphin >/dev/null 2>&1; then
    cd() {
      builtin cd "$@"
      qdbus "$KONSOLE_DBUS_SERVICE" /dolphin/MainWindow0 org.kde.dolphin.MainWindow.changeUrl "$PWD" >/dev/null
    }
  fi
fi

Zsh:

if [ -n "$KONSOLE_DBUS_SERVICE" ]; then
  if qdbus "$KONSOLE_DBUS_SERVICE" /dolphin >/dev/null 2>&1; then
    chpwd() {
      qdbus "$KONSOLE_DBUS_SERVICE" /dolphin/MainWindow0 org.kde.dolphin.MainWindow.changeUrl "$PWD" >/dev/null
    }
  fi
fi

これには問題があります。Dolphinウィンドウが現在のディレクトリを変更すると、ターミナルはフォーカスを失います。必要に応じて、開発者にバグ修正(またはこの機能の完全なネイティブサポート)を依頼できます。


残念ながら、コマンドラインからディレクトリを変更することは、私にとって重要な機能の1つです。
dStulle

@dStulle:キーボードを使用してディレクトリを変更するだけの場合はCtrl-L、Dolphinを入力してカーソルをアドレスバーにジャンプさせます。ここで、新しいディレクトリのアドレスを入力し、を押しEnterてナビゲートします。cdコマンドラインに本当に入力したい場合は、実行するハックを作成qdbusして、メッセージorg.kde.dolphin.MainWindow.changeUrl($PWD)をDolphin に送り返すことができるはずです。しかし、試してみるべきだと思います。ほとんどの場合、GUIとターミナルの統合の新しいパラダイムに慣れています。
ジュリアーノ

場所を「入力」するのではなく、コマンドラインで「する」ことです。qdbusは非常に優れており、このために機能しますが、ターミナルをイルカインスタンスにリンクする方法を見つけることができませんでした。複数のDolphinウィンドウが開いている場合、どのUrlを変更するかを決定できず、現在のコマンドラインディレクトリを変更するエイリアス、スクリプト、または関数の方法を見つけることもできなかったようです。編集:私がしようとしていた間に他の誰かがやったように見えます
...-dStulle

Dolphinサービスは、$ KONSOLE_DBUS_SERVICE環境変数からターミナルで見ることができます。Dolphinの同じインスタンスの2つのウィンドウを開いている場合、これは本当の問題です。私はそれらをどのように区別するか本当に知りません。$ KONSOLE_DBUS_SESSIONがありますが、これはkonphinセッションのみにリンクし、イルカウィンドウにはリンクしません。とにかく、この機能をDolphin開発者に提案する必要があります。その半分は上記で実装されています。
ジュリアーノ

明確にするために:Dolphinに欠けているのは、(1)changeUrl()が呼び出されたときに端末ウィジェットからフォーカスを取得しないこと、および(2)上記のスクリプトが送信できるように、端末が接続されているウィンドウを示す環境変数正しいウィンドウへのメッセージ。
ジュリアーノ

4

Gnome Commanderは、下部にシェルコマンドラインを備えたファイルマネージャーです。Midnight Commander(mc)も同様ですが、テキストモードです。(どちらもノートンコマンダーからインスピレーションを得ています。)


残念ながら、コマンドラインと実際のファイルのサムネイルプレビューのための重要な[tab]-オートコンプリート機能が欠けているようです。
dStulle

Ctrl-Oキーを押すと、Midnight Commanderのシェルに移動し、Ctrl-Enterキーを押すと、選択したアイテムの名前がコマンドラインに入力されます。[tab]オートコンプリートとまったく同じではありませんが、かなり近いです。

3

ノーチラスターミナルはノーチラス(Gnomeのファイルマネージャー)のプラグインです。

ディレクトリは、コマンドラインに従っていませんが、それを行うのは合理的に速いですpwd | xclip<Ctrl> +<l><Ctrl>+<v>


またいいですが、前述のように、ファイルブラウザもコマンドラインに従いません。また、新しいディレクトリに「cd」されないようですが、完全に新しいbashインスタンスを開始します。また、「ctrl-a」のような一部のショートカットはコマンドラインではなくファイルブラウザに影響します。
-dStulle

1

Konqueror http://www.konqueror.org/には、ターミナルウィンドウとファイルマネージャーを簡単に行き来する方法があります。フォーラムのディスカッションを参照してください:http : //www.knoppix.net/forum/threads/3838-How-to-Open-Konqueror-in-the-Directory-as-Your-Current-Shell現在のディレクトリとシェルkfmclient execにあるターミナル。現在のディレクトリでkonquerorを開きます。


0

以下は、イルカ+ qdbus +ターミナルを使用した@Julianoによる回答のバリエーションです(コードスニペットをフォーマットするために、コメントではなく回答としてここに追加されます)。このバリエーションにも制限があり、間違いなくハックです。

また、これは、「dolphin」が接続されたターミナルを実行していることを前提としています(表示>パネル>ターミナル、または「F4」を押します)。他の提案と同様に、コンソールのPWDに一致するようにGUIのパスを更新するコマンドをイルカに送信します。ターミナルに強制的にフォーカスを保持するには、xte(xautomation)を使用してターミナルウィンドウにクローズ/オープン(f4 + f4)を送信します。つまり、ターミナルを自動的に閉じてすぐに再度開き、フォーカスを取り戻します。

if [ -n "$KONSOLE_DBUS_SERVICE" ]; then
  if qdbus "$KONSOLE_DBUS_SERVICE" /dolphin >/dev/null 2>&1; then
    cd() {
      [ "$1" != "$PWD" ] && do_send=true || do_send=false;
      builtin cd "$@"
      if $do_send ; then
        qdbus "$KONSOLE_DBUS_SERVICE" /dolphin/MainWindow0 org.kde.dolphin.MainWindow.changeUrl "$PWD" >/dev/null 2>&1
        xte 'key F4' >/dev/null > /dev/null 2>&1 
        xte 'key F4' >/dev/null > /dev/null 2>&1 
      fi
    }
  fi
fi

主な問題(端末を閉じる/開くときのわずかなちらつきに加えて)は、(何らかの理由で)イルカが「control + c」と「cd {dir}」を挿入することです(「dir」はファイルのパスです)ターミナル)が再起動するたびにターミナルに入力され、入力されている他のコマンドに干渉します。 (編集:このための別の回避策として、ハックにハックを追加するには:alias ccd=cd このコントロール+ cの「c」文字が常にaの前に挿入されるように見えるためcd {path}...

もちろん、イルカに適切な修正を加え、端末にフォーカスを保持させたり、この機能全体をイルカに組み込んだりすることをお勧めします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.