plymouth + xterm + sudo: не работает…почему?

Вопрос или проблема

Я создаю файл 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. Причины неполадок

  1. Отсутствие окружения в xterm: Когда вы запускаете команду через xterm, окружение может отличаться от того, которое используется, когда команда запускается через kdesu. Например, переменные и настройки среды могут не быть доступны в xterm.

  2. Необходимость в визуальном окружении: Процесс plymouthd предназначен для работы в графическом окружении. Если он запускается без соответствующих графических параметров, это может привести к сбоям.

  3. Права доступа: Убедитесь, что у пользователя есть соответствующие права для запуска sudo, так как команда может не принимать ввод пароля должным образом при запуске из xterm.

2. Проверка конфигурации

Для решения данной проблемы выполните следующие шаги:

  1. Проверьте настройку sudo: Убедитесь, что у вас есть возможность выполнять команды с sudo в терминалах без ограничения. Это можно сделать, выделив соответствующие параметры в файле /etc/sudoers. Используйте visudo для редактирования этого файла.

  2. Тестирование команд в оболочке: Попробуйте запускать каждую команду по отдельности в 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. Возможно, вам нужно будет дополнительно изучить логи ошибок, чтобы выяснить, какие именно версии приложений и окружения у вас установлены, так как они также могут влиять на поведение системы. Если возникнут дополнительные трудности, стоит рассмотреть документацию или обратиться к сообществу для получения поддержки.

Оцените материал
Добавить комментарий

Капча загружается...