Запуск конкретного терминала при запуске

также просто выполните это:

$ dpkg --get-selections | grep nvidia

nvidia-common                   install
nvidia-current                  install
nvidia-current-updates              install
nvidia-experimental-x...            install
nvidia-settings                 install
nvidia-settings-updates             install

, а затем:

$ sudo apt-get purge nvidia-experimental-x...
...
$ sudo reboot

все в порядке!

1
задан 13 November 2017 в 13:29

3 ответа

Существует несколько возможных способов запуска GUI-приложения (как gmome-terminal) при запуске системы и, возможно, наиболее подходящим является использование Startup Applications (см. также). Таким образом, приложение будет запущено при входе пользователя в систему. (В любом другом методе мы должны экспортировать некоторые настольные envvars, чтобы иметь возможность сделать это.)

Чтобы проверить свой ответ, я создал исполняемый файл под названием myapp , расположенный в /usr/local/bin. Он добавляет только текущую дату и время в файл в каталоге /root, поэтому для запуска скрипта нам понадобятся права root (sudo):

#!/bin/bash
date >> /root/date.txt

We может предоставить разрешения конкретному пользователю для запуска команды без пароля через sudo. Независимо от того, принадлежит ли пользователь группе gmome-terminal или нет. Мы можем использовать sudo visudo для безопасного редактирования /etc/sudoers и добавить одну или несколько строк:

user1 ALL=(ALL) NOPASSWD: /usr/local/bin/myapp
user2 ALL=(ALL) NOPASSWD: /usr/local/bin/myapp

. Лучше всего создать отдельный файл, например /etc/sudoers.d/myapp, где поставить эти правила. Для этой цели мы будем использовать команду: sudo visudo .

Теперь user1 и user2 должны иметь возможность запускать sudo myapp без пароля.

Примечание. Всегда используйте команду visudo для редактирования файла sudoers, чтобы убедиться, что вы не блокируете себя из системы - на случай, если вы случайно напишите что-то неправильное в файле sudoers. visudo сохранит ваш измененный файл во временном месте и перезапишет реальный файл sudoers, если модифицированный файл может быть проанализирован без ошибок ... источник.

Следующим шагом является изменение сценария запуска. Назовем его myapp_startup и поместим его в тот же каталог /usr/local/bin. Содержимое сценария должно быть:

#!/bin/sh
gnome-terminal --geometry=75x36+0+0 -x bash -c "sudo myapp; exec bash"
Подробное объяснение приведенной выше команды приведено здесь. Если вы хотите свернуть окно автоматически, используйте этот подход.

Теперь мы можем создать запись в Startup Applications следующим образом:

Подробное описание этой команды приведено здесь. Когда скрипт не находится в каталоге, который добавлен к переменной echo $PATH пользователя, мы должны использовать полный путь, например: /usr/local/bin/myapp_startup.

Дальнейшее чтение:

Когда сценарий не находится в каталоге, который добавлен к переменной $PATH пользователя [echo $PATH ), мы должны использовать полный путь, например: /usr/local/bin/myapp_startup. Если вы хотите свернуть окно автоматически, используйте этот подход.
1
ответ дан 22 May 2018 в 17:28

Существует несколько возможных способов запуска GUI-приложения (как gmome-terminal) при запуске системы и, возможно, наиболее подходящим является использование Startup Applications (см. также). Таким образом, приложение будет запущено при входе пользователя в систему. (В любом другом методе мы должны экспортировать некоторые настольные envvars, чтобы иметь возможность сделать это.)

Чтобы проверить свой ответ, я создал исполняемый файл под названием myapp , расположенный в /usr/local/bin. Он добавляет только текущую дату и время в файл в каталоге /root, поэтому для запуска скрипта нам понадобятся права root (sudo):

#!/bin/bash date >> /root/date.txt

We может предоставить разрешения конкретному пользователю для запуска команды без пароля через sudo. Независимо от того, принадлежит ли пользователь группе gmome-terminal или нет. Мы можем использовать sudo visudo для безопасного редактирования /etc/sudoers и добавить одну или несколько строк:

user1 ALL=(ALL) NOPASSWD: /usr/local/bin/myapp user2 ALL=(ALL) NOPASSWD: /usr/local/bin/myapp

. Лучше всего создать отдельный файл, например /etc/sudoers.d/myapp, где поставить эти правила. Для этой цели мы будем использовать команду: sudo visudo .

Теперь user1 и user2 должны иметь возможность запускать sudo myapp без пароля.

Примечание. Всегда используйте команду visudo для редактирования файла sudoers, чтобы убедиться, что вы не блокируете себя из системы - на случай, если вы случайно напишите что-то неправильное в файле sudoers. visudo сохранит ваш измененный файл во временном месте и перезапишет реальный файл sudoers, если модифицированный файл может быть проанализирован без ошибок ... источник.

Следующим шагом является изменение сценария запуска. Назовем его myapp_startup и поместим его в тот же каталог /usr/local/bin. Содержимое сценария должно быть:

#!/bin/sh gnome-terminal --geometry=75x36+0+0 -x bash -c "sudo myapp; exec bash" Подробное объяснение приведенной выше команды приведено здесь. Если вы хотите свернуть окно автоматически, используйте этот подход.

Теперь мы можем создать запись в Startup Applications следующим образом:

Подробное описание этой команды приведено здесь. Когда скрипт не находится в каталоге, который добавлен к переменной echo $PATH пользователя, мы должны использовать полный путь, например: /usr/local/bin/myapp_startup.

Дальнейшее чтение:

Когда сценарий не находится в каталоге, который добавлен к переменной $PATH пользователя [echo $PATH ), мы должны использовать полный путь, например: /usr/local/bin/myapp_startup. Если вы хотите свернуть окно автоматически, используйте этот подход.
1
ответ дан 18 July 2018 в 05:10

Существует несколько возможных способов запуска GUI-приложения (как gmome-terminal) при запуске системы и, возможно, наиболее подходящим является использование Startup Applications (см. также). Таким образом, приложение будет запущено при входе пользователя в систему. (В любом другом методе мы должны экспортировать некоторые настольные envvars, чтобы иметь возможность сделать это.)

Чтобы проверить свой ответ, я создал исполняемый файл под названием myapp , расположенный в /usr/local/bin. Он добавляет только текущую дату и время в файл в каталоге /root, поэтому для запуска скрипта нам понадобятся права root (sudo):

#!/bin/bash date >> /root/date.txt

We может предоставить разрешения конкретному пользователю для запуска команды без пароля через sudo. Независимо от того, принадлежит ли пользователь группе gmome-terminal или нет. Мы можем использовать sudo visudo для безопасного редактирования /etc/sudoers и добавить одну или несколько строк:

user1 ALL=(ALL) NOPASSWD: /usr/local/bin/myapp user2 ALL=(ALL) NOPASSWD: /usr/local/bin/myapp

. Лучше всего создать отдельный файл, например /etc/sudoers.d/myapp, где поставить эти правила. Для этой цели мы будем использовать команду: sudo visudo .

Теперь user1 и user2 должны иметь возможность запускать sudo myapp без пароля.

Примечание. Всегда используйте команду visudo для редактирования файла sudoers, чтобы убедиться, что вы не блокируете себя из системы - на случай, если вы случайно напишите что-то неправильное в файле sudoers. visudo сохранит ваш измененный файл во временном месте и перезапишет реальный файл sudoers, если модифицированный файл может быть проанализирован без ошибок ... источник.

Следующим шагом является изменение сценария запуска. Назовем его myapp_startup и поместим его в тот же каталог /usr/local/bin. Содержимое сценария должно быть:

#!/bin/sh gnome-terminal --geometry=75x36+0+0 -x bash -c "sudo myapp; exec bash" Подробное объяснение приведенной выше команды приведено здесь. Если вы хотите свернуть окно автоматически, используйте этот подход.

Теперь мы можем создать запись в Startup Applications следующим образом:

Подробное описание этой команды приведено здесь. Когда скрипт не находится в каталоге, который добавлен к переменной echo $PATH пользователя, мы должны использовать полный путь, например: /usr/local/bin/myapp_startup.

Дальнейшее чтение:

Когда сценарий не находится в каталоге, который добавлен к переменной $PATH пользователя [echo $PATH ), мы должны использовать полный путь, например: /usr/local/bin/myapp_startup. Если вы хотите свернуть окно автоматически, используйте этот подход.
1
ответ дан 24 July 2018 в 18:16

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

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