(저는 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
.
빌드하려면 C 컴파일러와 GTK+ 3 개발 헤더가 필요합니다. Arch를 사용하는 경우 GTK+를 설치하기만 하면 얻을 수 있지만, 다른 배포판에서는 먼저 그렇게 해야 하거나 이와 유사한 것이 필요할 수 apt-get install build-essentials libgtk3-dev
있습니다 yum install gtk3-devel
. 그 외에는 구성 라이브러리나 그 어떤 것도 없이 완전히 독립적이며 원하는 곳에 실행 파일을 넣을 수 있습니다.
내 사용 사례는 주로 파일이 어떻게 표시되는지 신경 쓰지 않고 단지 몇 개의 파일(보통 하나)만 일회성으로 드래그하는 것입니다. 따라서 원하는 파일과 일치하지 않으면 Dragbox를 선택합니다. 최근)이 여전히 당신에게 더 나을 수도 있습니다. 바로 어제 드래그 타겟으로도 사용할 수 있는 지원을 추가했기 때문에 그 부분은 제 입장에서는 별로 쓸모가 없었습니다. 그 외에는 한동안 이것을 성공적으로 사용해 왔습니다. 추가 정보 파일에 다른 모드와 옵션이 설명되어 있습니다.
답변2
나에게 Dragbox 애플리케이션을 추천해준 @derobert에게 감사드립니다.
드래그박스내가 필요한 것을 정확히 수행합니다. 예를 들어 Chromium으로 드래그할 수 있는 .png 파일이 많이 포함된 폴더가 있습니다. 해당 폴더 내에서 실행하면 dragbox *.png
다음 창이 생성됩니다.
마우스를 사용하여 거기에서 Chromium으로 파일을 드래그할 수 있으며 완벽하게 작동합니다. 그러나 이 지점에 도달하는 것은 고통스러운 일이었습니다. 내가 아는 한 Dragbox는 공식적으로 Debian 시스템만 지원합니다. Arch에서 기본적으로 작동하는 곳을 찾을 수 없었습니다. 그래서 저는 Dragbox를 Arch Linux에서 작동시키는 단계별 가이드를 작성했습니다. 이것은 더 나은 방법을 따르기 위해 몇 가지 수정을 가한 내 컴퓨터에서 거의 정확히 수행한 작업입니다. 어딘가에 오류가 있으면 이 답변의 편집 기록을 보고 확인할 수 있습니다.정확히내 컴퓨터에서 내가 한 일.
- 다음을 실행하여 Dragbox의 소스를 컴퓨터에 복제하세요.
git clone https://github.com/engla/dragbox.git
dragbox
현재 작업 디렉터리 내에 Created 라는 새 디렉터리가 생성됩니다 . 안으로 들어가세요.- 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
텍스트 편집기에서 엽니다. shebang(셸에 스크립트를 실행할 실행 파일을 알려주는 첫 번째 줄)을 에서 로 수정#!/usr/bin/env python
합니다#!/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