노틸러스에서 상황에 맞는 메뉴를 어떻게 사용자 정의합니까? 메뉴에서 사용하고 싶은

때때로 나는 노틸러스의 상황에 맞는 메뉴에서 사용하고 싶은 행동에 대한 아이디어를 생각해 냈습니다. 거기에 어떻게 추가합니까? 노틸러스 용 Thunar UCA 플러그인과 같은 것이 있습니까?



답변

아래 답변은 오래되었습니다. 최근에 업데이트 된 답변은 이것 입니다.


노틸러스의 상황에 맞는 메뉴는 노틸러스 확장 프로그램 으로 사용자 정의 할 수 있었습니다. 이 링크는 보관 된 문서로 연결됩니다. Gnome 개발자는 해당 문서를 제거했으며 더 이상 그런 종류의 사용자 정의를 지원하지 않습니다. 그래도 여전히 작동 할 수 있습니다.

일반 셸 스크립트를 ~/.local/share/nautilus/scripts( ~/.gnome2/nautilus-scripts이전 릴리스의) 디렉토리 아래에 배치 할 수 있으며 스크립트 하위 메뉴의 파일 컨텍스트 메뉴에 나타납니다 .


답변

우분투 18.04 업데이트

Ubuntu 18.04가 릴리스 된 날짜에 Nautilus-Actions가 더 이상 제공되지 않습니다. 또한 Filemanager-Actions라는 새로운 프로그램으로 대체 된 것으로 보이며, 그렇지 않으면 동일하게 보입니다.


이 프로그램을 설치하려면 솔루션을 참조하십시오 .


노틸러스 작업

우리는 nautilus-actions를 사용 하여 마우스 오른쪽 클릭 컨텍스트 메뉴 항목을 정의 할 수 있습니다 .

  • 노틸러스 작업 구성 도구 를 대시 또는 터미널이있는 터미널에서 실행하십시오.

    nautilus-actions-config-tool
    

  • 동작”에서 “터미네이터에서 열기” 와 같이 적절한 레이블 을 지정하고 선택 또는 상황에 맞는 메뉴에 표시하도록 선택하십시오.

  • 그런 다음 명령 탭을 열어 실행할 명령을 입력하십시오.

  • 명령 ( /usr/bin/command_to_run) 및 프로그램 옵션 의 전체 경로를 제공하십시오 .

  • 로그 아웃 한 후 다시 오른쪽 클릭 컨텍스트 메뉴가 표시됩니다.



답변

하나는 사용할 수 있습니다 파이썬 – 노틸러스 의 대안으로 확장 nautilus-actions.

설치하기 위해서:

sudo apt-get install python-nautilus

간단한 예 :

import os

from gi.repository import Nautilus, GObject

class ColumnExtension(GObject.GObject, Nautilus.MenuProvider):
    def __init__(self):
        pass
    def menu_activate_cb(self, menu, file):
         os.system("write here your simple bash command & pid=$!")

    def get_background_items(self, window, file):
        item = Nautilus.MenuItem(name='ExampleMenuProvider::Foo2',
                                         label='Name of your item',
                                         tip='',
                                         icon='')
        item.connect('activate', self.menu_activate_cb, file)
        return item,

이 파이썬 스크립트를 아래에 복사 ~/.local/share/nautilus-python/extensions하고 노틸러스를 다시 시작하십시오. 바탕 화면을 마우스 오른쪽 버튼으로 클릭하고 항목을 선택하면 간단한 bash 명령이 실행됩니다. 🙂


답변

언제든지 무언가를 할 수 있기를 원한다면 ulidtko처럼 말하고 사용하십시오 ~/.gnome2/nautilus-scripts.

표시 될 때 사용자 정의 할 수있게하려면 nautilus-actions 패키지를 설치 한 다음 시스템-> 기본 설정-> 노틸러스 조치 구성으로 이동하십시오.


답변

2016 년 11 월 29 일 우분투 14.04, 16.04 및 16.10 및 이전 버전.

여기에서 직접 스크립트를 작성하는 데 필요한 노틸러스 지침을 참조하십시오 ( 도움말 Ubuntu-노틸러스 스크립트 사용 방법 ). 기본적으로 당신은 :

  • 디렉토리로 이동 ~/.local/share/nautilus/scripts/
  • 거기에 스크립트 (Bash, Perl 또는 Python으로 작성)를 배치하십시오.
  • 노틸러스를 사용하거나 터미널에서 chmod +x script_name
  • 노틸러스는 NAUTILUS_SCRIPT_SELECTED_FILE_PATHS, NAUTILUS_SCRIPT_SELECTED_URIS, NAUTILUS_SCRIPT_CURRENT_URI 및 NAUTILUS_SCRIPT_WINDOW_GEOMETRY와 같이 환경 변수를 스크립트에 제공합니다.

파일 도움말 , ISO 파일 마운트, 읽기 전용 파일 설정, gedit ROOT 권한으로 파일 편집, 현재 위치에서 터미널 열기 등에 대한 샘플 스크립트 는 ( Help Ubuntu-Nautilus Sample Scripts )에 있습니다.

스크립트를 살펴보고 파일 암호화, 클라우드에 업로드, 백업 압축 또는 필요한 작업을 수행하기위한 템플릿으로 사용하십시오.


답변

TL; DR

앱 개발자를위한 최상의 솔루션은 python-nautilus 를 사용하는 것 입니다.

(파이썬 스크립트 만들기 다음 와 나쁜 문서 ) 및 올바른 폴더에 복사 :

mkdir -p ~/.local/share/nautilus-python/extensions && cp script.py ~/.local/share/nautilus-python/extensions

상해

사용자가 스크립트 또는 .deb파일로 설치하는 응용 프로그램을 만들고 싶다고 가정 해 보겠습니다. 왜냐하면 Nautilus-actionsNautilus 스크립트python-nautilus비교하여 더 나은 솔루션 이라고 생각하는지 설명하겠습니다 .

노틸러스 작업

이 방법은 GUI를 제공하는 유일한 솔루션이므로 복잡한 동작을 쉽게 만들 수 있습니다. 예를 들어 선택한 파일의 MIME 유형이 어떤 것인지 표시 할 메뉴 항목을 결정합니다 text/plain.

이 솔루션의 주된 문제점은 구성 도구없이 다른 컴퓨터로 항목을 가져 오는 것이 쉽지 않고 (사용자가 가져 오는 경우) 사용자가 가져 오는 것이 쉽지 않다는 것입니다.

노틸러스 스크립트

이것은보다 직접적인 해결책이며 스크립트를 집어 폴더에 넣고 완료합니다. 이를 통해 설치 스크립트 또는 .deb파일이 상황에 맞는 메뉴에서 새 항목을 만들 수 있습니다. 무엇이 문제입니까? 어디서부터 시작해야합니까 …

  • 항상 스크립트 하위 메뉴 아래에 나타납니다.
  • 아무것도 선택하지 않으면 표시되지 않습니다.
  • 항목을 표시해야하는지 여부를 결정할 수 없습니다.
  • 툴팁이나 다른 제목을 허용하지 않습니다. (어쩌면 나는 까다 롭다)

좋은 앱은 사용자 경험을 망칠 수 있기 때문에 이와 같은 단축키를 사용하지 않습니다.

파이썬-노틸러스

이전 솔루션만큼 쉽게 만들 수는 없지만 두 가지 이점을 모두 제공합니다. 스크립팅 및 사용자 정의

이 솔루션을 사용하면 노틸러스에서 선택한 파일을 수신하는 python 스크립트를 생성 할 수 있으며 항목을 표시할지 여부와 해당 항목으로 수행 할 작업을 결정할 수 있습니다. 또한 하위 메뉴를 만들거나 멋진 것을 만들 수 있습니다.

단점은 문서가 부족 하고 항목을 추가하려는 개발자가 실제로 프로토 타입을 작성하는 데 몇 시간이 걸리는 것을 발견 할 수 있습니다.

나는 일반적으로 Visual Studio Code를 사용하지만 Windows에서는 상황에 맞는 메뉴 항목을 제공하지만 Open with Visual Studio CodeLinux에서는 동일한 기능이 부족하며 Python 솔루션을 사용하면 문제를 쉽게 해결할 수 있습니다. Linux의 앱이 노틸러스 통합을 통해 이익을 얻을 수 있다고 생각합니다.

이 설명이 무엇을 선택할지 결정하는 데 도움이 되었기를 바랍니다.