노틸러스 스크립트는 어떻게 설치합니까?


답변:


37

Ask Ubuntu를 탐색하는 동안 찾은 다음 스크립트를 설치한다고 가정하십시오.

#!/bin/bash
## Sample Script 0.1
## Dependencies: notify-osd

notify-send "Sample nautilus script" "You Selected $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"

의존성

가장 먼저 눈에 띄는 것은 많은 스크립트가 즉시 실행되지 않는다는 것입니다. 때로는 설치되었거나 설치하지 않은 다른 패키지에 의존하기도합니다. 이 경우 스크립트는에 의존 notify-osd하며 기본적으로 우분투와 함께 제공됩니다.

다른 배포판에서는 그렇지 않을 수 있으며 스크립트를 사용하기 전에 종속성을 설치해야합니다. 종속성이 공식 리포지토리의 일부인 경우 다음과 같이 쉽게 설치할 수 있습니다 apt-get.

sudo apt-get install notify-osd

스크립트 설정

이제 모든 종속성을 만족 시켰으므로 스크립트를 시스템에 복사하고 복사 할 수 있습니다. 이를 위해 먼저 스크립트 폴더 ( 우분투 13.04 ~/.gnome2/nautilus-scripts이상) ~/.local/share/nautilus/scripts/에 새 문서를 만듭니다 . 이것은 숨겨진 폴더입니다. 파일 관리자로 이동하려면 파일 관리자를 열고 CTRL+를 누르고 L디렉토리 경로를 위치 표시 줄에 붙여 넣으십시오.

다음으로 마우스 오른쪽 버튼을 클릭하고 새 문서 만들기빈 문서를 선택하여 빈 문서를 새로 만듭니다 . 원하는 이름을 지정하지만주의하십시오. 선택한 제목은 나중에 노틸러스 컨텍스트 메뉴에 스크립트 항목이 표시되는 방식입니다. 따라서 문서의 설명 이름을 선택하는 것이 좋습니다.

여기에 이미지 설명을 입력하십시오

선택한 텍스트 편집기에서 새 문서를 열고 위의 코드 상자 내용을 복사하여 붙여 넣습니다. 저장하고 텍스트 편집기를 종료하십시오.

그것을 실행 가능하게 만들기

이 시점에서 스크립트가 올바르게 설정되었지만 시스템에서 아직 실행 파일로 인식하지 못하므로 여전히 작동하지 않습니다. 파일을 실행 가능하게하려면 파일을 마우스 오른쪽 단추로 클릭하고 특성권한으로 이동하십시오 . 프로그램으로 실행 허용 에서 확인 표시를 설정하고 대화 상자를 닫습니다.

여기에 이미지 설명을 입력하십시오

용법

이제 노틸러스 컨텍스트 메뉴에서 스크립트에 액세스 할 수 있습니다. 선택한 파일을 마우스 오른쪽 버튼으로 클릭하고 스크립트 -> 스크립트 이름 (여기 : 샘플 스크립트 )으로 이동하십시오. 항목을 클릭하여 선택한 파일에서 스크립트를 실행하십시오.

여기에 이미지 설명을 입력하십시오

스크립트에 키보드 단축키 할당

노틸러스 스크립트 단축키는 노틸러스의 키보드 가속기 파일을 편집하여 할당 할 수 있습니다. Ubuntu 12.04 이하에서이 파일은 아래에 ~/.gnome2/accels/nautilus있습니다. 최신 릴리스에서는이 파일이로 이동되었습니다 ~/.config/nautilus/accels. Nautilus를 다시 시작한 후에 만 ​​스크립트가 가속기 파일에만 나타납니다 (execute nautilus -q, 실행 프로그램을 클릭하여 Nautilus를 다시 시작하십시오).

가속기 파일의 구문은 처음에는 다소 압도적이지만 실제로는 매우 쉽습니다. 예를 들어이 발췌문을 살펴보십시오.

; (gtk_accel_path "<Actions>/ShellActions/ZoomInAccel2" "<Primary>KP_Add")
; (gtk_accel_path "<Actions>/ShellActions/TabsNext" "<Primary>Page_Down")
; (gtk_accel_path "<Actions>/ScriptsGroup/script_file:\\s\\s\\shome\\sglutanimate\\s.gnome2\\snautilus-scripts\\sSample%20script" "")
; (gtk_accel_path "<Actions>/ShellActions/Search" "<Primary>f")
; (gtk_accel_path "<Actions>/ShellActions/Forward" "<Alt>Right")

모든 줄은 단일 키 할당을 나타냅니다. 첫 번째 큰 따옴표 세그먼트는 작업을 지정하고 두 번째는 할당 된 키 조합입니다. 세미콜론으로 시작하는 줄은 주석 처리되어 있으며 현재 비활성화되어 있습니다.

스크립트에 바로 가기를 지정하려면이 파일에서 스크립트 이름을 검색하고 세미콜론을 제거하여 해당 줄의 주석을 해제해야합니다. 그런 다음 할당하려는 키보드 단축키를 입력하십시오.

사용 가능한 수정 자와 해당 키 코드는 다음과 같습니다.

  • CTRL = <Primary>
  • ALT = <Alt>
  • SHIFT = <Shift>

xev사용하여 다른 모든 키에 유효한 키 코드를 찾을 수 있습니다 .

샘플 스크립트를 ALT+ 에 할당하기 위해 위의 섹션을 수정하는 방법은 다음과 같습니다 SHIFT + S.

; (gtk_accel_path "<Actions>/ShellActions/ZoomInAccel2" "<Primary>KP_Add")
; (gtk_accel_path "<Actions>/ShellActions/TabsNext" "<Primary>Page_Down")
(gtk_accel_path "<Actions>/ScriptsGroup/script_file:\\s\\s\\shome\\sglutanimate\\s.gnome2\\snautilus-scripts\\sSample%20script" "<Alt><Shift>s")
; (gtk_accel_path "<Actions>/ShellActions/Search" "<Primary>f")
; (gtk_accel_path "<Actions>/ShellActions/Forward" "<Alt>Right")

Ubuntu 12.04 (및 이후 릴리스도 가능)에서 노틸러스는 때때로 변경 사항을 적용하기 전에 가속기 파일을 덮어 씁니다. 노틸러스가 실행 중이 아닌 동안 변경 한 내용을 모두 수행하는 것이 좋습니다 ( nautilus -q). 어느 쪽이든, 당신은 것입니다 변경 사항을 볼 수 노틸러스를 다시 시작해야합니다.

설치 자동화

이 노틸러스 스크립트는 자동으로 노틸러스 스크립트를 설치합니다. 비하인드 스토리를보고 뒤에서 무슨 일이 일어나고 있는지 확인하십시오.

#!/bin/bash
# AUTHOR:       Glutanimate (/ubuntu//users/81372/)
# LICENSE:      GNU GPLv3 (http://www.gnu.de/documents/gpl-3.0.en.html)
# NAME:         Nautilus Scripts Installer
#
# DESCRIPTION:  This script will install Nautilus scripts on Ubuntu 12.04 and above.
#               Note: scripts of the same name in the destination folder will be
#               overwritten without warning


# general purpose notification function
gui_notify(){
    notify-send -i gnome-app-install "Nautilus Scripts Installer" "$1"
}


# check if any files selected
if [[ -z "$@" ]]
  then
      gui_notify "Error: No files selected."
      exit 1
fi


RELEASE="$(lsb_release -r | cut -f2)"   # detect Ubuntu release

if [[ "$RELEASE" = "12.04" ]]           # set script folder accordingly
  then
      ScriptFolder="$HOME/.gnome2/nautilus-scripts"
  else
      ScriptFolder="$HOME/.local/share/nautilus/scripts/"
fi


for Script in "$@"; do

  ScriptFilename="${Script##*/}"                # get filename via bash string manipulation

  cp "$Script" "$ScriptFolder/"                 # Move script to destination
  chmod u+x "$ScriptFolder/$ScriptFilename"     # Make it executable for the user

done

gui_notify "The following scripts have been installed: $@"

제쳐두고 : 여기 에이 답변의 스크린 캐스트를 기록하는 데 사용한 노틸러스 스크립트가 있습니다.


1
아마도이 대답은 노틸러스 파일 속성 창이나 명령 줄 (예 : askubuntu.com/a/376062/53738 )을 사용하여 아이콘을 스크립트에 할당하는 것에 대한 정보를 포함하여 훨씬 더 향상 될 수 있습니다 .
dess
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.