파일 관리자없이 파일을 창으로 "끌 수"있습니까?


41

(아키 리눅스에서 i3을 wm으로 사용하고 xterm을 터미널 에뮬레이터로 사용하고 있지만 그 중 어느 것이 관련이 있는지는 모르겠습니다.)

간혹 웹 사이트에서 마우스로 파일을 데스크탑에서 인터넷 브라우저의 창으로 드래그하도록 요청하는 경우가 있습니다. 거의 항상 대안이 있지만 최근에는 드래그 앤 드롭이 필요한 작업을 찾았습니다. 불행히도 파일 관리자가 없습니다. bash를 통해서만 컴퓨터의 파일 시스템을 탐색합니다.

드래그 앤 드롭 동작을 속일 수있는 방법이 있습니까? 브라우저에서 실제로 수행하지 않고 "이 파일을 방금 떨어 뜨 렸습니다"라고 말할 수 있습니까?

최악의 시나리오는 그래픽 파일 관리자를 독점적으로 다운로드하여 파일을 웹 브라우저에 놓을 수는 있지만 해당 솔루션을 피하고 싶습니다.


3
> 나는 실제로 그 일을하지 않고 브라우저 "나는 당신에이 파일을 삭제"를 말할 수 "사운드를 stackexchange에 자바 스크립트 커뮤니티를위한 좋은 질문처럼?.
jayhendren

또한 www : mechanize 또는 파생 상품을 참조하십시오 . 펄과 파이썬이있는 것 같습니다. 솔루션이 많을수록 좋습니다!


1
드래그 박스가 더 이상 존재하지 않습니다. 수락 된 답변을 변경하십시오.
유카 시마 say 사이

1
@yukashimahuksay 님, 헤드 업 주셔서 감사합니다
undergroundmonorail

답변:


19

나는 몇 달 전에 똑같은 문제가 있었고 궁극적으로 나를 위해 그것을 할 수있는 도구를 썼습니다. 내가 이것을보고 다른 사람이 같은 가려움증을 발견했을 때 나는 다른 사람이 실제로 그것을 달릴 수 있도록 정리하고 내 할 일 목록을 완성했습니다. 코드는 이제 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 파일에 설명 된 다른 모드와 옵션이 있습니다.


감사합니다! 빌드 / 설치하는 데 몇 초가 걸렸습니다! 나는 그것을 사용할 것이다! --target 옵션은 폭발적입니다!

훌륭하고 작은 독립형 바이너리. 좋은 작은 Makefile로. 완전한. 감사합니다!
ctn

1
당신은 영웅입니다. 이 도구는 AUR에서 이름으로도 사용할 수 있습니다 dragon-drag-and-drop-git.
FichteFoll

사랑해! 아치 커뮤니티는 U를 좋아합니다! 감사합니다! 나는 이것을 오랫동안 찾고 있었다.
유카 시마 say 세이

28

Dragbox 애플리케이션을 추천 해 주신 @derobert에게 감사드립니다.

Dragbox 는 내가 필요한 것을 정확하게 수행합니다. 예를 들어 Chromium으로 드래그 할 수있는 .png 파일이 많은 폴더가 있습니다. 해당 폴더 내에서 실행 dragbox *.png하면 다음 창이 생성됩니다.

여러 파일 이름이 나열된 GUI 창

마우스를 사용하여 파일을 Chromium으로 끌어 올 수 있으며 완벽하게 작동합니다. 그러나이 시점에 이르는 것은 고통스러운 일이었습니다. 내가 아는 한, Dragbox는 공식적으로 데비안 시스템 만 지원합니다. 아치에서 기본적으로 작동하는 곳을 찾을 수 없었습니다. 그래서 저는 Arch Linux에서 Dragbox가 작동하도록하는 단계별 가이드를 작성했습니다. 이것은 거의 내가 기계에서 한 일이며, 더 나은 방법을 따르기 위해 몇 가지 수정 사항이 있습니다. 어딘가에 오류가 있으면이 답변의 편집 기록 에서 내 컴퓨터에서 내가 한 일을 정확하게 있습니다.

  1. 실행하여 Dragbox의 소스를 컴퓨터에 복제 git clone https://github.com/engla/dragbox.git
  2. dragbox현재 작업 디렉토리 내에 작성 되는 새 디렉토리가 있습니다 . 안으로 들어가
  3. Dragbox와 Dragbox를 설치하려면 Python 2가 필요합니다. Python 2는 Arch Linux에서 표준으로 제공됩니다. 그러나 Python 2는 기본 Python 설치가 될 것으로 예상하지만 Arch에서는 그렇지 않습니다. 를 실행하여이 문제를 해결하십시오 export PYTHON=/bin/python2. 현재 터미널 창을 닫을 때까지 환경 변수 $PYTHON의 값은 /bin/python2입니다. Dragbox의 설치 스크립트가이를 확인하고 Python 3보다 사용합니다.
  4. 실행 ./autogen.sh, ./configure, makemake install. make install루트 권한으로 수행해야합니다 (예 :) sudo make install.
  5. Dragbox가 컴퓨터에 설치되었지만 Python 3을 사용하여 실행하려고합니다. 루트 권한 /usr/local/bin/dragbox으로 텍스트 편집기에서 엽니 다 . shebang (스크립트를 실행할 실행 파일을 알려주는 첫 번째 행)을에서 #!/usr/bin/env python에서 수정하십시오 #!/usr/bin/env python2.
  6. 이제 스크립트가 작동하지만 실제 프로그램이 포함 된 모듈을 찾을 수 없습니다. 이 문제를 해결할 수있는 몇 가지 방법이 있습니다.

    1. 디렉토리에 대한 경로를 따라 (또는 사이 공백이 아닌) 즉시 ~/.bashrc읽은 줄을 포함하십시오 export PYTHONPATH=$PYTHONPATH:. 파이썬은 이제 모듈을 가져 오려고 할 때 해당 디렉토리를 찾습니다. 1 단계에서 다시 생성 한 디렉토리 안에는 Dropbox/(자본 D와 함께) 라는 디렉토리가 있습니다 . 해당 디렉토리를 추가 한 디렉토리에 복사하십시오 $PYTHONPATH(예 : 작성한 경우 디렉토리를 export PYTHONPATH=$PYTHONPATH:~/python/modules복사하여 Dragbox/작성하십시오 ~/python/modules/Dragbox/).

    2. 아마도 더 나쁜 연습이지만, 동일한 디렉토리를 이미에있는 디렉토리로 복사 할 수 있습니다 $PYTHONPATH. 예를 들어, 복사하여 create을 만들 수 있습니다 /usr/lib/python2.7/site-packages/.

이 단계를 수행했다면 Dragbox가 작동해야합니다! 이제 man dragbox사용법을 배우고 실행 하기 만하면됩니다 dragbox.


2
실제로 PEP 394 가 채택 된 /usr/bin/env python2이후로 사용 하는 것이 권장되는 방식 입니다.
질 'SO-정지 존재 악마'

1
두 번째 수정은 필요하지 않습니다. Dragbox디렉토리를 PYTHONPATH어딘가에 복사하십시오 ( python2 site-packages 와 같이 시스템 또는 사용자별로). 해당 행은 dragbox해당 패키지를 가져올 수없는 경우에만 실행됩니다 .
Bakuriu

@Seth 글쎄, 고마워. 파이썬 스크립트 는 설계된 것과 약간 다른 시스템 에서 실행 되었습니다. 파이썬은 여전히 ​​파이어가 있습니다 : P 파이썬이 기뻤습니다. 우연히 있다.
undergroundmonorail

2
Archlinux를 사용하면 이러한 유형의 실제 솔루션은 PKGBUILD를 작성 하는 것입니다 . 대부분 수행 한 작업을 수행하지만 pacman파일을 관리 할 수있는 특수 스크립트 에 파일을 저장하므로 파일을 업데이트하거나 제거하려는 경우 시스템에서 문제를 일으키지 않아도됩니다.
HalosGhost

1
드래그 박스가 죽은 것 같습니다. git-repo가 ​​사라졌습니다.
kaleissin

6

다음 구문을 사용하여 브라우저 내에서 파일 시스템을 쉽게 탐색 할 수 있습니다.

file:///home/username/blah/blah

빈 탭에서 경로를 열고 거기서 파일을 끌어다 놓을 수 있습니다. 적어도 크롬 / 크롬에서는 여기에 다른 브라우저가 없습니다.


이것은 나를 위해 작동하지 않지만, 그것이 설명하는 방법에 문제가 있거나 물건을 넣기를 원하는 사용자 스크립트에 문제가 있는지 알 수 없습니다 ...
undergroundmonorail

크롬에 명령 줄 스위치 또는 속성이 있다고 생각하면 이것을 허용해야합니다.
slm

시겠습니까 chrome://flags이런 일을 찾아 할 수있는 권리 장소? 그것이 내가 지금보고있는 곳입니다.
undergroundmonorail

@undergroundmonorail mmm 맞습니다. 방금 dropzonejs.com 의 데모로 시도했지만 작동하지 않습니다. 그래도 허가 문제가 될 수 있습니다
Mr Shunz


4

방금 문제를 직접 해결했습니다.

아마도 가장 쉬운 방법은 "파일 열기 ..."대화 상자를 사용하는 것입니다. 파일 관리자처럼 gtk 파일 대화 상자에서 끌어서 놓기 만하면됩니다.

대화 상자가 화면을 훔치지 않도록 별도의 창을 열어야 할 수도 있습니다.

그게 다야. 쉬워요


대박! 아무것도 설치할 필요가 없습니다. Firefox를 사용하고있어서 메뉴를 클릭 할 수 없지만 Ctrl + o는 정상적으로 작동합니다.
Milan Babuškov
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.