Nautilus betiğini nasıl yükleyebilirim?


Yanıtlar:


37

Ask Ubuntu'ya göz atarken aşağıdaki komut dosyasını yüklemek istediğinizi varsayalım:

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

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

Bağımlılıklar

Fark edeceğiniz ilk şey, birçok komut dosyasının sadece kutudan çıkmayacağıdır. Bazen kurmuş olabileceğiniz veya kurmamış olabileceğiniz diğer paketlere bağlıdır. Bu durumda komut notify-osddosyamız, varsayılan olarak Ubuntu ile birlikte gelir.

Diğer dağıtımlarda durum böyle olmayabilir ve komut dosyasını kullanmadan önce bağımlılıkları yüklemeniz gerekir. Bağımlılık resmi depoların bir parçasıysa, kolayca kurabilirsiniz apt-get, örneğin:

sudo apt-get install notify-osd

Betiği ayarlama

Artık tüm bağımlılıkları sağladığımıza göre komut dosyasını sistemimize kopyalayabiliriz. Biz ilk bizim komut klasörde yeni bir belge oluşturmak Bunu yapmak için ~/.gnome2/nautilus-scriptsveya ~/.local/share/nautilus/scripts/yukarıda Ubuntu 13.04 ve üzerinde. Bu gizli bir klasör. Başlamak için dosya yöneticinizi açmanız, CTRL+ tuşuna basmanız Lve dizin yolunu Konum çubuğuna yapıştırmanız gerekir.

Ardından, sağ tıklayıp Yeni Belge OluşturBelgeyi Boşalt'ı seçerek yeni bir boş belge oluşturacağız . İstediğiniz her şeyi adlandırın, ancak dikkat: Seçtiğiniz başlık, komut dosyası girişinin daha sonra nautilus bağlam menüsünde nasıl görüneceğidir. Bu yüzden belge için açıklayıcı bir ad seçin:

resim açıklamasını buraya girin

Yeni belgeyi istediğiniz bir metin düzenleyicide açın ve yukarıdaki kod kutusunun içeriğini kopyalayıp yapıştırın. Kaydedin ve metin düzenleyicisinden çıkın.

Yürütülebilir hale getirme

Bu noktada komut dosyanız doğru bir şekilde ayarlanmıştır, ancak sistem henüz yürütülebilir bir dosya olarak tanımadığı için çalışmaz. Yürütülebilir yapmak için dosyanızı sağ tıklayın ve Özelliklerİzinler'e gidin . Program olarak Yürütülmesine İzin Ver onay kutusunu işaretleyin ve iletişim kutusunu kapatın:

resim açıklamasını buraya girin

kullanım

Artık komut dosyasına nautilus içerik menünüzden erişebilmelisiniz. İstediğiniz bir dosyayı sağ tıklayın ve Komut Dosyaları -> Komut Dosyası adı'na gidin (burada: Örnek Komut Dosyası ). Seçtiğiniz dosyalarda komut dosyasını çalıştırmak için girişi tıklayın:

resim açıklamasını buraya girin

Komut dosyasına klavye kısayolu atama

Nautilus komut dosyaları için klavye kısayolları, Nautilus'un klavye hızlandırıcı dosyası düzenlenerek atanabilir. Ubuntu 12.04 ve altında bu dosyanın altında bulabilirsiniz ~/.gnome2/accels/nautilus. Daha yeni sürümlerde bu dosya adresine taşındı ~/.config/nautilus/accels. Lütfen komut dosyanızın yalnızca Nautilus yeniden başlatıldıktan sonra hızlandırıcı dosyasında görüneceğini unutmayın (yürütün nautilus -q, ardından başlatıcısına tıklayarak Nautilus'u tekrar başlatın).

Hızlandırıcı dosyasının sözdizimi ilk başta biraz ezici görünebilir, ancak aslında oldukça kolaydır. Bu alıntıya bir göz atın, örneğin:

; (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")

Her satır tek bir tuş atamasını temsil eder. İlk çift tırnaklı segment eylemi, ikincisi atanan tuş kombinasyonunu belirtir. Noktalı virgül ile başlayan satırlar yorumlanır ve şu anda etkin değildir.

Betiğinize bir kısayol atamak için betiğin adını bu dosyada aramanız ve noktalı virgül kaldırarak ilgili satırı açmanız gerekir. Ardından atamak istediğiniz klavye kısayolunu yazmaya devam edin.

Bunlar mevcut değiştiriciler ve karşılık gelen anahtar kodlarıdır:

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

Xev kullanarak diğer tüm tuşlar için geçerli anahtar kodları bulabilirsiniz .

Örnek betiğinizi ALT+ olarak atamak için yukarıdaki bölümü nasıl değiştirmeniz gerektiği aşağıda açıklanmıştır 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'te (ve belki de daha sonraki sürümlerde de) Nautilus bazen herhangi bir değişiklik yapmadan önce hızlandırıcı dosyasının üzerine yazacaktır. Bu yüzden Nautilus çalışmıyorken yaptığınız tüm değişiklikleri yapmak iyi bir fikir olabilir ( nautilus -q). Her iki durumda da , değişiklikleri görmek için Nautilus'u yeniden başlatmanız gerekecek .

Kurulumu otomatikleştirme

Bu Nautilus betiği sizin için otomatik olarak Nautilus betiği kuracaktır. Sahne arkasında neler olduğunu görmek için lütfen yorumlara bir göz atın:

#!/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: $@"

Bir kenara: İşte bu cevabın ekran görüntülerini kaydetmek için kullandığım nautilus betiği .


1
Muhtemelen, Nautilus dosya özellikleri penceresini veya komut satırını (örn. Askubuntu.com/a/376062/53738 ) kullanarak komut dosyalarına simgeler atama hakkında bilgiler de dahil olmak üzere bu yanıt daha da geliştirilebilir .
dess
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.