Como há alguma confusão na outra resposta que aceitei, vou escrever minha própria resposta, que responde exatamente ao que eu pedi, mas deixarei essa como a resposta aceita, já que ela responde à pergunta que minha pergunta foi editado para ser em vez do que era originalmente.
-S
não é um comando independente como foi inicialmente assumido. Também não tem nada a ver com mount
. É um argumento para sudo
e / ou gksu
(faz algo diferente dependendo de qual comando você usa). (Então, deve ser gksu -S --
em vez de gksu -- -S
.) Então, é isso que -S
significa no sentido que eu estava pensando. No entanto, para explicar o que significa além disso, citarei a ajuda:
-
gksu -S
significa, 'Faça o GKSu usar sudo ao invés de su, como se tivesse sido executado como' gksudo '.'
-
sudo -S
significa "ler a senha da entrada padrão".
Também parece ser desnecessário usar gksu -S
quando você pode usar de forma mais legível gksudo
. sudo -S
, por outro lado, pode ter alguma importância com senhas.
Precisamos apenas executar um comando como root (na verdade, não é root). Então, é por isso que usamos gksudo
ou gksu -S
em vez de gksu
sem -S
.
--
ainda precisa estar lá, mesmo que -S
faça parte de gksu
. Caso contrário, -o
será lido como um argumento para gksu
também.
Então, aqui está o código alterado:
#!/bin/bash
if mountpoint -q /home/myLaptop/myDesktop
then
notify-send -t 3000 "Warning" "It is already mounted."
else
gksudo -- mount -t nfs -o proto=tcp,port=2049 192.168.0.x:/home/myLaptop /home/myLaptop/myDesktop
if mountpoint -q /home/myLaptop/myDesktop
then
notify-send -t 3000 "Alert" "Mounted."
else
notify-send -t 3000 "Alert" "Mount failed."
fi
fi