Вопрос или проблема
Я создаю файл sh, я кликаю, файл sh начинает выполняться. Но Xterm не работает для запуска plymouthd… вместо этого kdesu работает для запуска plymouthd… но я хочу использовать xterm… возможно, я упускаю какой-то параметр…
это KDESU (работает)
#!/bin/bash
kdesu -c "sudo plymouthd; plymouth --show-splash; sleep 10; plymouth quit"
это xterm (не работает)
#!/bin/bash
xterm -geometry 130x15 -fg Plum1 -bg Purple4 -fa 'Monospace' -fs 10 -e 'sudo plymouthd; plymouth --show-splash; sleep 10; plymouth quit'
Я проверял в гугле, но ничего не нашел… черт…
Ответ или решение
Решение проблемы: plymouth + xterm + sudo не работает
Данная проблема связана с использованием команд для запуска процесса plymouthd
через терминал xterm
, где выполнение с sudo
может не работать должным образом. Рассмотрим детали и возможные причины данной ситуации.
1. Причины неполадок
-
Отсутствие окружения в xterm: Когда вы запускаете команду через
xterm
, окружение может отличаться от того, которое используется, когда команда запускается черезkdesu
. Например, переменные и настройки среды могут не быть доступны вxterm
. -
Необходимость в визуальном окружении: Процесс
plymouthd
предназначен для работы в графическом окружении. Если он запускается без соответствующих графических параметров, это может привести к сбоям. -
Права доступа: Убедитесь, что у пользователя есть соответствующие права для запуска
sudo
, так как команда может не принимать ввод пароля должным образом при запуске изxterm
.
2. Проверка конфигурации
Для решения данной проблемы выполните следующие шаги:
-
Проверьте настройку sudo: Убедитесь, что у вас есть возможность выполнять команды с
sudo
в терминалах без ограничения. Это можно сделать, выделив соответствующие параметры в файле/etc/sudoers
. Используйтеvisudo
для редактирования этого файла. -
Тестирование команд в оболочке: Попробуйте запускать каждую команду по отдельности в
xterm
:sudo plymouthd plymouth --show-splash sleep 10 plymouth quit
Это поможет определить, какая именно команда вызывает ошибку.
3. Альтернатива: Использование терминалов
Если вы хотите использовать xterm
, но сталкиваетесь с проблемами, рассмотрите возможность использования других терминалов или эмуляторов, таких как gnome-terminal
или konsole
, которые могут предоставлять более совместимое окружение для вашей задачи.
4. Пример исправленного скрипта
Вот исправленный скрипт, который может помочь вам запустить ваш код через xterm
:
#!/bin/bash
xterm -geometry 130x15 -fg Plum1 -bg Purple4 -fa 'Monospace' -fs 10 -e 'bash -c "sudo plymouthd; plymouth --show-splash; sleep 10; plymouth quit"'
Использование bash -c
позволяет вашему скрипту запускаться в новом экземпляре Bash, что может помочь установить более подходящее окружение.
5. Заключение
Используйте приведенные рекомендации для диагностики и исправления проблемы с запуском plymouthd
в xterm
. Возможно, вам нужно будет дополнительно изучить логи ошибок, чтобы выяснить, какие именно версии приложений и окружения у вас установлены, так как они также могут влиять на поведение системы. Если возникнут дополнительные трудности, стоит рассмотреть документацию или обратиться к сообществу для получения поддержки.