Dodany przez: w System.
Artykuł czytano 1 530 razy i oceniono
1 gwiazdka2 gwiazdki3 gwiazdki4 gwiazdki5 gwiazdek (brak ocen)
Loading ... Loading ...

Tytuł troszkę zawiły, ale już tłumaczę na konkretnym przykładzie, który podał jeden z czytelników Jaack.

Jacek, będąc pod wrażeniem genialnego sposobu na wyłączenie touchpada opisanego tutaj klik, postanowił napisać skrypt, który podpiąłby pod skróty klawiszowe, aby łatwo włączać i wyłączać touchpada. Niestety w tej operacji wymagane jest hasło ( sudo rmmod oraz sudo modprobe) - i tutaj pojawił się problem, a raczej niedogodność w podawaniu hasła za każdym razem. Ale nasz dzielny Czytelnik poświęcił trochę czasu i udało mu się rozwiązać problem, a rezultaty jego poszukiwań przedstawiam poniżej :)

Załóżmy sytuację, że mamy skrypt o nazwie skrypt, który znajduje się gdzieś w katalogu domowym. Oczywiście w skrypcie wymagane jest podanie hasła, aby wykonał się on poprawnie. Dla przykładu - ma on taką zawartość:

#!/bin/bash

if `lsmod | grep -q psmouse`
then sudo rmmod psmouse
else sudo modprobe psmouse
fi

Jak widać - bez sudo ani rusz.

Nadajemy mu uprawnienia do uruchamiania:

chmod +x ~/skrypt

Teraz edytujemy plik /etc/sudoers:

sudo gedit /etc/sudoers

I dopisujemy do końca pliku:

twój_login ALL = NOPASSWD: /sbin/modprobe psmouse, /sbin/rmmod psmouse

Zwróć uwagę na dwa miejsca:
- twój_login - oczywiście tutaj uzupełnij odpowiednio,
- /sbin/modprobe psmouse, /sbin/rmmod psmouse - tutaj dodaj po przecinku te polecenia, które mają wykonywać się bez pytania o hasło - w naszym przykładzie było to modprobe psmouse oraz rmmod psmouse - muszą to być ścieżki absolutne.

Zapisz plik (CTRL+S) i ruchom wcześniejszy skrypt. Zauważysz, że hasło już nie jest potrzebne :) Teraz wystarczy podpiąć skrypt pod jakiś klawisz lub aktywator.

Zobacz także:

Tagi: skrypt
Jeżeli powyższy artykuł nie rozwiązał lub rozwiązał częściowo Twój problem, dodaj swój komentarz opisujący, w którym miejscu napotkałeś trudności.
Na każdy komentarz postaramy się udzielić odpowiedzi w ciągu 24 godzin od momentu wysłania.
Mile widziane komentarze z uwagami lub informacjami o rozwiązaniu problemu.

Dodaj komentarz


7 × osiem =