(저는 Arch Linux를 사용하고 있으며 i3을 wm으로 사용하고 xterm을 터미널 에뮬레이터로 사용하고 있지만 이것이 관련되어 있는지는 모르겠습니다.)
가끔 웹사이트에서 마우스를 사용하여 데스크탑에 있는 파일을 인터넷 브라우저 창으로 끌어오라고 요청하는 경우가 있습니다. 거의 항상 대안이 있지만 최근에는 드래그 앤 드롭이 필요하다는 것을 깨달았습니다. 불행히도 파일 관리자가 없습니다. 나는 bash를 통해서만 내 컴퓨터의 파일 시스템을 탐색합니다.
가짜 드래그 앤 드롭 방법이 있나요? 실제로 실행하지 않고도 브라우저에 "방금 이 파일을 던졌습니다"라고 말할 수 있나요?
최악의 경우에는 그래픽 파일 관리자를 구체적으로 다운로드하여 웹 브라우저에 파일을 가져올 수 있지만 이 솔루션은 피하고 싶습니다.
답변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
각 파일에 대해 드래그 가능한 버튼이 있는 간단한 창을 가져옵니다.
표준 드래그 앤 드롭 프로토콜을 사용하여 브라우저, 파일 관리자, 편집기 또는 다른 곳으로 드래그할 수 있습니다.
다른 방향으로 가고 싶다면 뭔가를 드래그하세요.존재하다사용 - 표준 출력으로 인쇄되거나 --target
사용하는 경우 다시 끌어서 놓을 수 있습니다.--keep
apt-get install build-essentials libgtk3-dev
빌드하려면 C 컴파일러와 GTK+ 3 개발 헤더가 필요합니다. Arch를 사용하는 경우 간단히 GTK+를 설치하여 이러한 헤더를 얻을 수 있지만, 다른 배포판에서는 이 작업을 먼저 수행 하거나 이와 유사한 작업을 수행해야 할 수도 있습니다 yum install gtk3-devel
. 그 외에는 완전히 독립적이고, 메이크업 라이브러리나 그 어떤 것도 없으며, 실행 파일을 원하는 위치에 놓기만 하면 됩니다.
내 사용 사례는 주로 표시 방법에 특별히 신경 쓰지 않고 한 번에 몇 개의 파일(보통 하나만)을 드래그하는 것입니다. 따라서 이것이 원하는 것이 아니라면 Dragbox(최근까지 보지 못했던)가 여전히 더 나을 수 있습니다. 바로 어제 드래그 타겟으로 사용하기 위한 지원을 추가했기 때문에 그 부분은 나에게 별로 쓸모가 없습니다. 하지만 그 외에는 한동안 성공적으로 사용하고 있습니다. 추가 모드 및 옵션은 추가 정보 파일에 설명되어 있습니다.
답변2
나에게 Dragbox 앱을 추천해준 @derobert에게 감사드립니다.
드래그 박스나에게 딱 필요한 것. 예를 들어, 많은 .png 파일이 포함된 폴더가 있고 해당 파일을 Chromium으로 드래그할 수 있기를 원합니다. 해당 폴더 내에서 실행하면 dragbox *.png
다음 창이 생성됩니다.
마우스를 사용하여 거기에서 Chromium으로 파일을 드래그할 수 있으며 완벽하게 작동합니다. 그러나 이 지점에 도달하는 것은 고통스러웠습니다. 내가 아는 한 Dragbox는 공식적으로 Debian 시스템만 지원합니다. 이것이 기본적으로 Arch에 적용되는 곳을 찾을 수 없습니다. 그래서 저는 Arch Linux에서 Dragbox를 사용하는 방법에 대한 단계별 가이드를 작성했습니다. 이것은 더 나은 방법을 따르기 위해 몇 가지 수정을 거쳐 내 컴퓨터에서 수행하는 작업과 거의 동일합니다. 어딘가에 실수가 있으면 이 답변의 편집 내역을 확인하여 확인할 수 있습니다.정확히내 컴퓨터에서 무엇을 했습니까?
- 다음 명령을 실행하여 Dragbox의 소스를 컴퓨터에 복제하십시오.
git clone https://github.com/engla/dragbox.git
dragbox
현재 작업 디렉터리에 Create라는 새 디렉터리가 생성됩니다. 들어가세요.- Dragbox 및 Dragbox 설치에는 Arch Linux에 표준으로 제공되는 Python 2가 필요합니다. 그러나 Python 2가 기본 Python 설치가 될 것으로 예상하지만 Arch에서는 그렇지 않습니다. 를 실행하여 이 문제를 해결하십시오
export PYTHON=/bin/python2
. 현재 터미널 창을 닫기 전 환경 변수$PYTHON
의 값은 입니다/bin/python2
. Dragbox의 설치 스크립트는 이를 확인하고 Python 3에서 사용합니다. ./autogen.sh
, 및 을./configure
실행 합니다 . 이 작업은 루트 권한(예 : )으로 수행해야 합니다.make
make install
make install
sudo make install
- 이제 Dragbox가 컴퓨터에 설치되었지만 Python 3을 사용하여 실행을 시도합니다. 루트 권한으로
/usr/local/bin/dragbox
텍스트 편집기에서 엽니다 .#!/usr/bin/env python
에서 shebang(스크립트를 실행하는 데 사용할 실행 파일을 쉘에 알려주는 첫 번째 줄)을 변경합니다#!/usr/bin/env python2
. 이제 스크립트가 실행되지만 실제 프로그램이 포함된 모듈을 찾을 수 없습니다. 이 문제를 해결하는 방법에는 여러 가지가 있습니다.
귀하 또는 이와 유사한 내용에는 내 디렉토리 경로를 따라 즉시
~/.bashrc
읽는export PYTHONPATH=$PYTHONPATH:
(예: 사이에 공백이 없어도) 행이 포함됩니다. 이제 Python은 모듈을 가져오려고 할 때 이 디렉터리를 찾습니다. 1단계에서 생성된 디렉터리 내에Dropbox/
(대문자 D)라는 디렉터리가 있습니다 . 해당 디렉터리를 추가한 디렉터리에 복사합니다$PYTHONPATH
(예를 들어 를 쓴 경우 디렉터리를export PYTHONPATH=$PYTHONPATH:~/python/modules
복사하여Dragbox/
생성합니다~/python/modules/Dragbox/
).아마도 더 나쁜 접근 방식일 수 있지만 동일한 디렉토리를
$PYTHONPATH
./usr/lib/python2.7/site-packages/
이 단계를 따른다면 Dragbox가 제대로 작동할 것입니다! 이제 man dragbox
실행하여 사용 방법에 대해 자세히 알아보고 를 입력하기만 하면 실행할 수 있습니다 dragbox
.
답변3
방금이 문제를 직접 해결했습니다.
가장 쉬운 방법은 아마도 "파일 열기..." 대화 상자를 사용하는 것입니다. 파일 관리자처럼 gtk 파일 대화상자에서 파일을 끌어서 놓기만 하면 됩니다.
대화 상자가 화면을 차지하지 않도록 별도의 창을 열 수도 있습니다.
그게 다야. 그렇게 간단합니다.
답변4
zenity
드래그 앤 드롭과 같은 명령줄 도구를 사용하여 GTK 파일 대화 상자를 시작할 수 있습니다.
예:
zenity --file-selection