Więc na kurs, który biorę w systemach operacyjnych, postanowiłem zintegrować niestandardowy program podobny do ftp do menu prawego przycisku myszy (napisanego w C) i miałem problemy z próbą pobrania skryptów, które wykonałem pojawiają się i działają tak, jak chcę.
Celem jest, aby wyglądał jak najbardziej zintegrowany z systemem operacyjnym. Znalazłem temat dodawania akcji w menu zwykłego kliknięcia prawym przyciskiem myszy, ale miałem problemy z poprawnym działaniem moich skryptów nautilus.
Powstaje problem, że nawet w przypadku skryptu w folderach skryptów nautilus, uruchomienie go w akcji nautilus nie wypełnia zmiennych wyboru plików ( NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
), które skrypt musi uruchomić mój program. Jednak działa je za pomocą menu skryptów. Chciałbym wiedzieć, czy to możliwe, aby to zadziałało?
Pojawia się, gdy nie wybrano żadnych plików, ponieważ spowoduje to uruchomienie mojego programu do odbierania plików. Muszę to uzyskać, aby uzyskać folder, który kliknąłem prawym przyciskiem myszy, jeśli to możliwe:
Pojawia się po wybraniu niektórych plików, muszę mieć możliwość wyboru listy wybranych, aby mój program wiedział, które pliki wysłać:
Muszę obecnie korzystać z menu skryptów. Jest to niepożądane, ponieważ menu skryptów pojawia się tylko po wybraniu elementu:
Czy to, co chcę zrobić, jest możliwe?
Informacje dodatkowe: Program do wysyłania / odbierania jest serwerem gniazd, który napisałem. Wiem, że prawdopodobnie mógłbym to zrobić o wiele łatwiej za pomocą zwykłego bash FTP, ale nie jestem pewien, że mój profesor byłby pod wrażeniem 4-liniowego rozwiązania na projekt semestralny.
Piszę skrypty w bash.
Oto przykład kodu bash:
#!/bin/bash
echo Hello World!
IP=$(zenity --entry --text "What is the IP you want?" --entry-text "")
PORT=$(zenity --entry --text "What is the PORT you want?" --entry-text "3000")
for file in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
do
zenity --info --text $file
/home/admin/fileSending/clientRecieve $IP $PORT "$file"
done
echo $IP
źródło