Как создать .desktop Launcher для команды Sudo для запуска программы GfxTablet?

Как создать .desktop Launcher для команды Sudo для запуска программы GfxTablet?

Я новичок и пытаюсь найти способ создать значок .desktop для команды sudo, чтобы открыть программу GfxTablet, но не могу получить никакой информации, которая действительно работает.

Все многочисленные команды, которые я пробовал, не запускали терминал Tilix и/или не вводили команду, я создал множество файлов .desktop, которые запускали программы сами по себе, но ни разу не удалось выполнить командную строку в sudo или none sudo.

Все, что я знаю, это то, что строка Exec должна быть точной в том, что она диктует для выполнения операции. Если я пытаюсь запустить терминал по умолчанию, как при вводе строки Exec для указания Exec=tilix, ничего не происходит, но если я захожу, скажем, в UXterm и ввожу tilix, а затем нажимаю Enter, он открывается, я пробовал изменить терминал по умолчанию на один из 3 или 4 терминалов в этой сборке disco dingo 19.04, но ни один из них не запускается из строки Exec=, если она включает расположение папки, за которым следует имя файла, когда я пишу загрузчик .desktop.

Я делаю его исполняемым и запускаю через правую кнопку мыши, открываю с помощью параметра «Запустить программу», а также перетаскиваю файл .desktop в tilix и нажимаю Enter.

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

Путь к файлу, для которого я хочу создать этот .desktop launcher, следующий:

/home/pc/GfxTablet/driver-input/сетевой планшет

Имя файла, который мне нужно запустить, следующее:

сетевойпланшет

запуск приложения, которое работает во всех терминалах, если ввести команду для запуска, то она выглядит следующим образом:

sudo ./сетевойтаблет

Я уже более 36 часов пытаюсь разобраться в этом. Я время от времени получал некоторую помощь в Интернете, но это не помогло. Это сводит меня с ума. Я хочу добавить значок на панель Dock, поскольку я создаю свой собственный индивидуальный дистрибутив.

Но я хотел бы перенести его на другие машины, если это необходимо на каком-то этапе, когда он будет полностью настроен, поэтому мне нужно сохранить его после завершения как резервную копию системы, чтобы сделать это простым способом, когда все готово к работе, я хочу, чтобы он был на панели при переустановке или установке на любую машину, и чтобы к нему было легко получить доступ на любой машине из панели, просто щелкнув по значку, в отличие от ввода его для запуска через терминал, который мне нужно сначала щелкнуть и открыть, то же самое касается и того, если я хочу добавить дополнительные командные строки, чтобы открывать их одним щелчком вместо того, чтобы открывать командную оболочку, а затем вводить ее, я хотел бы, чтобы они также были в поиске приложений, то есть они должны быть файлом .desktop в папке .local/share/applications, чему я научился, создавая другие средства запуска.

Пожалуйста, кто-нибудь может помочь. Я новичок в Linux всего несколько дней, но хорошо работаю с Windows, не так хорошо с командной строкой, но во всем остальном. Я просто навсегда сменил ОС. Мне больше нравится безопасность, скорость и плавность работы ОС Ubuntu.

Я надеюсь, что мне помогут, и я смогу сохранить свои волосы такими, какие они есть, прежде чем выдеру их все, лол.

заранее спасибо

решение1

В предыдущих версиях Ubuntu ответ был бы прост: использовать gksudoстроку "Exec=" в загрузчике. Перед запуском самой программы он бы вывел графический диалог для ввода пароля пользователя. Однако "gksudo" без разбора позволял привилегированному пользователю запускать любую графическую программу как root, и теперь это устарело. Его заменили на pkexec, который в дополнение к запросу пароля сначала проверит, пытаетесь ли вы запустить программу, которой явно разрешено работать как root. Кроме того, по умолчанию он никогда не позволит графической программе полностью работать как root. Однако возможность все еще есть для размещения устаревших графических программ, разработанных для полного запуска как root.

man pkexecобъясняет, как можно запустить пользовательский исполняемый файл от имени пользователя root.

  1. Создайте файл действия на основе шаблона, который вы найдете в man pkexec(см. в разделе Пример). Предоставьте свой собственный <action id=и измените <annotate key="org.freedesktop.policykit.exec.path">на полную команду вашего исполняемого файла. По желанию вы можете принять параметры, такие как значок, описание, информация о поставщике и т. д.

  2. Поместите файл в каталог/usr/share/polkit-1/actions

В лаунчере .desktop перед полной командой вашего исполняемого файла поставьте pkexec. Если все пройдет хорошо, нажатие на лаунчер должно отобразить диалоговое окно для ввода пароля вместе с сообщением, указанным в файле.

Если команда предоставляет вывод терминала, который вы хотите увидеть, то включите строку "Terminal=true" в ваш файл .desktop. Таким образом, команда запустится в терминале, который останется открытым, пока команда выполняется.

Связанный контент