(아키 리눅스에서 i3을 wm으로 사용하고 xterm을 터미널 에뮬레이터로 사용하고 있지만 그 중 어느 것이 관련이 있는지는 모르겠습니다.)
간혹 웹 사이트에서 마우스로 파일을 데스크탑에서 인터넷 브라우저의 창으로 드래그하도록 요청하는 경우가 있습니다. 거의 항상 대안이 있지만 최근에는 드래그 앤 드롭이 필요한 작업을 찾았습니다. 불행히도 파일 관리자가 없습니다. bash를 통해서만 컴퓨터의 파일 시스템을 탐색합니다.
드래그 앤 드롭 동작을 속일 수있는 방법이 있습니까? 브라우저에서 실제로 수행하지 않고 “이 파일을 방금 떨어 뜨 렸습니다”라고 말할 수 있습니까?
최악의 시나리오는 그래픽 파일 관리자를 독점적으로 다운로드하여 파일을 웹 브라우저에 놓을 수는 있지만 해당 솔루션을 피하고 싶습니다.
답변
나는 몇 달 전에 똑같은 문제가 있었고 궁극적으로 나를 위해 그것을 할 수있는 도구를 썼습니다. 내가 이것을보고 다른 사람이 같은 가려움증을 발견했을 때 나는 다른 사람이 실제로 그것을 달릴 수 있도록 정리하고 내 할 일 목록을 완성했습니다. 코드는 이제 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 개발 헤더가 필요합니다 빌드하려면 – 당신이 아치에 있다면 당신은 단지 GTK +를 설치하여 사람들을 얻을 것이다, 그러나 다른 배포판에 당신이있을 수 있습니다 apt-get install build-essentials libgtk3-dev
하거나 yum install gtk3-devel
또는 유사한 첫째. 그 외에는 구성 라이브러리 또는 아무것도없는 완전히 자체 포함되어 있으며 원하는 위치에 실행 파일을 넣을 수 있습니다.
내 유스 케이스는 주로 파일이 표시되는 방식을 신경 쓰지 않고 단지 몇 개의 파일 (일반적으로 단지 하나)의 단 한 번의 드래그입니다. 따라서 원하는 것과 일치하지 않으면 Dragbox (내가 볼 때까지 최근에)가 여전히 더 낫습니다. 어제 나는 그것을 드래그 대상으로 사용하는 것에 대한 지원을 추가 했으므로 부분은 많이 사용하지 않았습니다. 그 외에는, 나는 이것을 잠시 동안 성공적으로 사용하고 있습니다. readme 파일에 설명 된 다른 모드와 옵션이 있습니다.
답변
Dragbox 애플리케이션을 추천 해 주신 @derobert에게 감사드립니다.
Dragbox 는 내가 필요한 것을 정확하게 수행합니다. 예를 들어 Chromium으로 드래그 할 수있는 .png 파일이 많은 폴더가 있습니다. 해당 폴더 내에서 실행 dragbox *.png
하면 다음 창이 생성됩니다.
마우스를 사용하여 파일을 Chromium으로 끌어 올 수 있으며 완벽하게 작동합니다. 그러나이 시점에 이르는 것은 고통스러운 일이었습니다. 내가 아는 한, Dragbox는 공식적으로 데비안 시스템 만 지원합니다. 아치에서 기본적으로 작동하는 곳을 찾을 수 없었습니다. 그래서 저는 Arch Linux에서 Dragbox가 작동하도록하는 단계별 가이드를 작성했습니다. 이것은 거의 내가 기계에서 한 일이며, 더 나은 방법을 따르기 위해 몇 가지 수정 사항이 있습니다. 어딘가에 오류가 있으면이 답변의 편집 기록 에서 내 컴퓨터에서 내가 한 일을 정확하게 볼 수 있습니다.
- 실행하여 Dragbox의 소스를 컴퓨터에 복제
git clone https://github.com/engla/dragbox.git
dragbox
현재 작업 디렉토리 내에 작성 되는 새 디렉토리가 있습니다 . 안으로 들어가- Dragbox와 Dragbox를 설치하려면 Python 2가 필요합니다. Python 2는 Arch Linux에서 표준으로 제공됩니다. 그러나 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:
. 파이썬은 이제 모듈을 가져 오려고 할 때 해당 디렉토리를 찾습니다. 1 단계에서 다시 생성 한 디렉토리 안에는Dropbox/
(자본 D와 함께) 라는 디렉토리가 있습니다 . 해당 디렉토리를 추가 한 디렉토리에 복사하십시오$PYTHONPATH
(예 : 작성한 경우 디렉토리를export PYTHONPATH=$PYTHONPATH:~/python/modules
복사하여Dragbox/
작성하십시오~/python/modules/Dragbox/
). -
아마도 더 나쁜 연습이지만, 동일한 디렉토리를 이미에있는 디렉토리로 복사 할 수 있습니다
$PYTHONPATH
. 예를 들어, 복사하여 create을 만들 수 있습니다/usr/lib/python2.7/site-packages/
.
-
이 단계를 수행했다면 Dragbox가 작동해야합니다! 이제 man dragbox
사용법을 배우고 실행 하기 만하면됩니다 dragbox
.
답변
다음 구문을 사용하여 브라우저 내에서 파일 시스템을 쉽게 탐색 할 수 있습니다.
file:///home/username/blah/blah
빈 탭에서 경로를 열고 거기서 파일을 끌어다 놓을 수 있습니다. 적어도 크롬 / 크롬에서는 여기에 다른 브라우저가 없습니다.
답변
방금 문제를 직접 해결했습니다.
아마도 가장 쉬운 방법은 “파일 열기 …”대화 상자를 사용하는 것입니다. 파일 관리자처럼 gtk 파일 대화 상자에서 끌어서 놓기 만하면됩니다.
대화 상자가 화면을 훔치지 않도록 별도의 창을 열어야 할 수도 있습니다.
그게 다야. 쉬워요