Файл .desktop, кажется, выполняет .sh исполняемый файл файла, но не завершается

Я надеюсь, что сделал свою должную осмотрительность в поиске предыдущих сообщений. Я плохо знаком с человечностью (14.04) и все еще изучением. Я не смог найти эту проблему ранее спрошенной.

Я создал .sh файл (/home/Desktop/mountServer.sh) и установил свойства->, Выполняются, чтобы позволить выполнять файл как программу. Если я выполняю этот .sh от терминала вручную с помощью cd Desktop/, и./mountServer.sh это работает отлично. Когда я работаю, .desktop файл 'Монтируют Server.desktop', он открывает терминал, как проинструктировано и предлагает мне мой пароль. Но затем, ничего не происходит. Это не монтирует мой диск. Никакое сообщение об ошибке.

код mountServer.desktop:

[Desktop Entry]
Name=Mount Server
Comment=Mounts the Server 1.5 from Apple Airport Extreme
Exec=sudo /home/Desktop/mountServer.sh
Icon=/paht/to/icon.png
Terminal=true
Type=Application

код mountServer.sh:

sudo mount -t cifs "//10.0.1.1/The Server 1.5" -o username=myusername,password=pwhere,sec=ntlm ~/capsule
0
задан 22 September 2015 в 05:23

1 ответ

Строка, кажется, является неправильной, Ваша папка Desktop не находится в /home

Exec=sudo /home/Desktop/mountServer.sh

и нет никакой потребности использовать sudo дважды, однажды в Вас сценарий и однажды в Вашем файле на рабочем столе.

Использовать

Exec=/home/your_username/Desktop/mountServer.sh

вместо этого, замена your_username с Вашим именем пользователя (вывод echo $USER)

И необходимо использовать

$HOME/capsule

вместо

~/capsule

в Вашем сценарии.


Лучшее решение для Вас, установка gksu через

sudo apt-get install gksu

Файл на рабочем столе как это, замена your_username с Вашим именем пользователя (вывод echo $USER)

[Desktop Entry]
Name=Mount Server
Comment=Mounts the Server 1.5 from Apple Airport Extreme
Exec=gksu /home/your_username/Desktop/mountServer.sh
Icon=/paht/to/icon.png
Terminal=false
Type=Application

и сценарий как это

#!/usr/bin/env bash
mount -t cifs "//10.0.1.1/The Server 1.5" -o username=myusername,password=pwhere,sec=ntlm "$HOME"/capsule

С этим решением Вы имеете графически подсказка пароля, никакой ненужный терминал и если Вы хотите запустить свой сценарий непосредственно в терминале, можно использовать

sudo ~/Desktop/mountServer.sh
1
ответ дан 1 October 2019 в 01:18

Другие вопросы по тегам:

Похожие вопросы: