ファイルマネージャなしでウィンドウにファイルを「ドラッグ&ドロップ」できますか?

ファイルマネージャなしでウィンドウにファイルを「ドラッグ&ドロップ」できますか?

(私はArch Linuxを使用しており、i3をwmとして使用し、xtermをターミナルエミュレータとして使用していますが、これが関連しているかどうかはわかりません。)

場合によっては、Webサイトでマウスを使用してデスクトップ上のファイルをインターネットブラウザウィンドウにドラッグするように要求することがあります。ほとんど常に代替案がありますが、最近はドラッグアンドドロップが必要であることに気づきました。残念ながら、ファイルマネージャはありません。私はbashを介してのみ私のコンピュータのファイルシステムをナビゲートします。

偽のドラッグアンドドロップ方法はありますか?実際に実行せずにブラウザに「このファイルをスローしました」と言うことはできますか?

最悪の場合は、グラフィックファイルマネージャを具体的にダウンロードしてWebブラウザにファイルをインポートできますが、このソリューションは避けたいと思います。

答え1

私は数ヶ月前に同じ問題を経験し、最終的にその問題を解決するのに役立つツールを作成しました。これを見て、他の人も同じ欲求を持っているのを見て、私以外の人が実際に実行して自分のやる仕事のリストを完成できるようにまとめました。これでコードが公開されました。https://github.com/mwh/dragon

それを得るために実行します。

git clone https://github.com/mwh/dragon.git
cd dragon
make

これにより、スタンドアロンの実行可能ファイルが提供され、目的のdragon場所に移動できます。make installに入れます$HOME/.local/bin

どちらにしても次のことができます。

dragon *.jpg

各ファイルにドラッグ可能なボタンを持つ簡単なウィンドウをインポートします。

いくつかのファイルを表示するDragonスクリーンショット

標準のドラッグアンドドロッププロトコルを使用して、ブラウザ、ファイルマネージャ、エディタ、または他の場所にドラッグできます。

別の方向に行きたい場合は、何かをドラッグしてください。存在する使用 - 標準出力として印刷または使用している--target場合は、再びドラッグ&ドロップできます。--keep


apt-get install build-essentials libgtk3-devビルドするには、CコンパイラとGTK + 3開発ヘッダが必要です。 Archを使用している場合は、単にGTK +をインストールしてこれらのヘッダーを取得することができますが、他のディストリビューションでは最初にこれを実行するか、または同様の作業を実行する必要がありますyum install gtk3-devel。それ以外は完全に独立して、メイクアップライブラリや何もなく、実行ファイルを好きな場所に置くだけです。

私の使用例は、主に表示方法を特に気にせずに一度にいくつかのファイル(通常は1つのみ)をドラッグすることです。したがって、これが望むものではない場合は、Dragbox(最近まで見たことがない)がまだ優れている可能性があります。昨日はドラッグターゲットとして使用するためのサポートを追加したので、その部分は私にとってあまり役に立ちません。しかし、それ以外はしばらくうまく使用しています。追加モードとオプションは、追加情報ファイルに記載されています。

答え2

私にDragboxアプリを推薦してくれた@derobertに感謝します。

ドラッグボックス私にぴったりのもの。たとえば、多くの.pngファイルを含むフォルダがあり、そのファイルをChromiumにドラッグできるようにしたいとします。そのフォルダ内で実行すると、dragbox *.png次のウィンドウが作成されます。

複数のファイルの名前を一覧表示するGUIウィンドウ

マウスを使ってそこからChromiumにファイルをドラッグすることができ、完璧に動作します。しかし、この地点に到達するのは苦痛でした。私が知っている限り、Dragboxは正式にDebianシステムのみをサポートしています。これがデフォルトでArchに適用される場所を見つけることができません。だから私は、Arch LinuxでDragboxを使用する方法のステップバイステップガイドを作成しました。これは、より良い方法に従うためにいくつかの修正を経て、私のコンピュータで行うこととほぼ同じです。どこかに間違いがある場合は、この回答の編集履歴を確認して確認できます。正確に私のコンピュータで何をしましたか?

  1. 次のコマンドを実行して、Dragboxのソースをコンピュータに複製します。git clone https://github.com/engla/dragbox.git
  2. dragbox現在の作業ディレクトリに、Createという新しいディレクトリが作成されます。入ってください。
  3. Dragbox と Dragbox のインストールには、Arch Linux で標準で提供される Python 2 が必要です。しかし、Python 2はデフォルトのPythonインストールになると予想していますが、Archではそうではありません。を実行してこの問題を解決してくださいexport PYTHON=/bin/python2。現在の端末ウィンドウを閉じる前の環境変数$PYTHONの値はです/bin/python2。 Dragboxのインストールスクリプトはこれを確認し、Python 3で使用されます。
  4. ./autogen.sh、およびを./configure実行します。これはroot権限(たとえば)で実行する必要があります。makemake installmake installsudo make install
  5. Dragboxはコンピュータにインストールされましたが、Python 3を使用して実行しようとしました。 root権限で/usr/local/bin/dragboxテキストエディタで開きます。#!/usr/bin/env pythonで shebang (スクリプトの実行に使用する実行可能ファイルをシェルに通知する最初の行) を変更します#!/usr/bin/env python2
  6. スクリプトは実行されますが、実際のプログラムを含むモジュールが見つかりません。この問題を解決する方法はいくつかあります。

    1. あなたまたは同様のものには、私のディレクトリパスに沿ってすぐに~/.bashrc読み取るexport PYTHONPATH=$PYTHONPATH:(たとえば、間にスペースがなくても)行が含まれます。 Pythonはモジュールをインポートしようとするとこのディレクトリを探します。手順1で作成したディレクトリ内にDropbox/(大文字D)というディレクトリがあります。そのディレクトリを追加したディレクトリにコピーします$PYTHONPATH(たとえば、書き込んだ場合はディレクトリをexport PYTHONPATH=$PYTHONPATH:~/python/modulesコピーしてDragbox/作成します~/python/modules/Dragbox/)。

    2. おそらくより悪いアプローチかもしれませんが、同じディレクトリを$PYTHONPATH/usr/lib/python2.7/site-packages/

この手順に従うと、Dragboxは正常に動作します!今すぐman dragbox実行して使用方法を学び、入力するだけで実行できますdragbox

答え3

私はこの問題を直接解決しました。

最も簡単な方法は、おそらく「ファイルを開く...」ダイアログを使用することです。ファイルマネージャのように、gtkファイルダイアログボックスでファイルをドラッグアンドドロップするだけです。

ダイアログボックスが画面を占有しないように別のウィンドウを開くこともできます。

それはすべてです。とても簡単です。

答え4

zenityドラッグアンドドロップなどのコマンドラインツールを使用して、GTKファイルダイアログボックスを起動できます。

例:

zenity --file-selection

関連情報