Как добавить скрипт к nautilus для запуска выбранного файла в качестве администратора?

Мне удалось избавиться от накладок прокрутки с помощью dconf-редактора, установив:

com.canonical.desktop.interface.scrollbar-mode = 'normal'

(Caveat, не уверен в кнопках шага.)

Интуитивно, если «выключено» нормально, разве это не значение по умолчанию? Кто-то считает «overlay-auto» значением по умолчанию. Просто благодарен, что избавился от этой ужасно бесполезной «функции». Мне стоило около двух часов, чтобы найти решение. Надеемся решить проблему с шаговыми кнопками на основе вышеуказанной информации (спасибо).

8
задан 13 October 2011 в 22:37

3 ответа

Информация об использовании sudo или gksudo в скриптах без пароля

Вам нужно сделать следующее: тип терминала sudo visudo и добавить строку, подобную этой в конце файла, с указанием команд, которые вы хотите запустить без ввода пароля sudo:

<yourusername> hostname=NOPASSWD: <command1>, <command2>

Теперь вы можете запускать указанные команды без пароля, пока вы вводите эту команду с помощью sudo.

ie: позволяет вы хотите запустить shutdown -r now без необходимости вводить пароль sudo каждый раз, а ваше имя пользователя - «joedoe»

type sudo visudo на терминале. Добавить joedoe hostname=NOPASSWD: shutdown -r now в качестве новой строки в конце файла на ваш скрипт затем вы можете использовать sudo shutdown -r now без ввода пароля sudo.

Чтобы создать скрипт, используйте свой любимый редактор, чтобы создать <nameofyourscript>.sh с содержимым:

#! /bin/bash

sudo <commandsyouwanttorun1>
<commandsyouwanttorun2>
sudo<commandsyouwanttorun3>

Использовать sudo для вызова команд, которые в нем нуждаются, он не запрашивает пароль как если вы добавили, что на строке NOPASSWD: <commmand1>, <command2>, etc в visudo.

После этого вам нужно сделать его исполняемым с помощью: sudo chmod 755 <nameofyourscript>.sh.

Теперь вы можете запустить свой скрипт с помощью sh <nameofyourscript>.sh на терминале, дважды щелкнув по нему и выбрав run в диалоговом окне или поместите их в свой ~/.gnome2/nautilus-scripts/, который затем будет доступен на вашем scripts, когда вы нажимаете правой кнопкой мыши на nautilus:

Создайте правой кнопкой мыши «Открыть как admin» без пароля

Чтобы создать скрипт, который открывается файлы, используя права администратора, щелкнув правой кнопкой мыши на них и сделав так, чтобы никакие пароли не задавались, создайте скрипт со следующим:

#! /bin/bash
for file in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS; do
gksudo "gnome-open $file" &
done

Сохраните его на ~/.gnome2/nautilus-scripts/, сделайте его исполняемым с помощью sudo chmod 755 ~/.gnome2/nautilus-scripts/<nameofyourscript>.sh, используя sudo visudo, добавьте строку <yourusername> ALL=NOPASSWD: /usr/bin/gnome-open и сохраните файл.

Вы должны щелкнуть правой кнопкой мыши файл, перейти в папку с вашими сценариями и выбрать сценарий, который вы только что создали, чтобы открыть это файл с использованием корневых permistions. gnome-open будет обрабатывать тип файла как можно лучше.

enter image description here

7
ответ дан 25 May 2018 в 18:19
  • 1
    Спасибо за ответ! Но было небольшое недоразумение: мне нужно было «запустить как администратор». не «открывать как админ», поэтому я отложил строку "gksudo "gnome-open $file" &" до "gksudo "gnome-terminal -x $file" &" – Olcay Ertaş 13 October 2011 в 10:50
  • 2
    Несомненно, «первая глава» даст вам достаточно информации, чтобы делать то, что вы хотите;) Рад, что это помогло! – Bruno Pereira 13 October 2011 в 10:52

Сценарии Nautilus обычно помещаются в $HOME/.gnome2/nautilus-scripts/ и должны исполняться. При этом скрипт должен делать то, что вам нужно:

#!/bin/bash

IFS='
'

for file in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS; do
    gksudo -k "sh -c 'chmod +x $file; $file'"
done

Вы можете получить доступ к этому сценарию из nautilus, щелкнув правой кнопкой мыши по файлу, наведя курсор на меню сценария, а затем нажав на имя файла сценарий в $HOME/.gonme2/nautilus-scritps/. Вы все равно должны вводить свой пароль.

Нет безопасного способа сделать это с произвольными файлами без ввода пароля. Для специальных команд процесс описан в сообщении brunopereira81 здесь и использует sudo, но в зависимости от команд приведет к уязвимой системе. Если вам все равно (и я настоятельно советю против этого), вы можете установить команды ALL для использования NOPASSWD и заменить gksudo на sudo.

1
ответ дан 25 May 2018 в 18:19

Вы можете использовать это расширение Nautilus. Nautilus-gksu.

sudo apt-get install nautilus-gksu

Установка его добавляет запись «Открыть как администратор» в меню правой кнопки мыши nautilus.

Когда вам нужно открывайте любые файлы с правами root, вам просто нужно щелкнуть правой кнопкой мыши по файлу, выберите «Открыть как администратор», как это просто.

Для более интересных расширений посетите: Nautilus-gksu [ ! d1]

1
ответ дан 25 May 2018 в 18:19

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

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