Как настроить автозапуск Xscreensaver?


9

Я только что установил xscreensaver вместо gnome-screensaver в Ubuntu 12.04 в режиме gnome-session-fallback (Gnome Classic). Работает нормально, но у меня проблема: я поместил команду "xscreensaver -no-splash" в список автозагрузки приложений.

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


Попробуйте это: ubuntuforums.org/showthread.php?t=195557 Это сработало после того, как я попробовал два разных «решения».

Заставка -no-splash совершенно неверна.
Eofla

Ответы:


13

Протестировано и использовано в Ubuntu 13.04

Поскольку ни один ответ не был помечен как правильный; это может быть проблема с запуском xscreensaver при запуске

как говорит здесь @ peterx14 , многие учебники по настройке xscreensaver предоставляют неверную информацию.

Они говорят вам настроить файл screensaver.desktop с помощью следующей команды:

sudo gedit /etc/xdg/autostart/screensaver.desktop

и затем поместите в него следующую информацию:

[Desktop Entry]
Name=Screensaver
Type=Applicaton
Exec=xscreensaver -nosplash

Однако по некоторым причинам во многих из этих руководств указанная выше команда неверна. «Заявление» было написано с ошибкой как «Заявление». Это приводит к тому, что команда запуска не работает.

Поэтому, если вы уже ввели команду

"xscreensaver -no-splash" 

в ваш список запуска, он не будет работать, так как xscreensaver не настроен с типом приложения.

Чтобы выяснить, является ли это проблемой: сначала запустите locate screensaver.desktop. Это должно где-то в списке сказать вам, где находится screensaver.desktop. На моем компьютере он находится /etc/xdg/autostart/screensaver.desktop, затем откройте его в редакторе (терминал 'nano' может быть лучше, так как вам понадобятся команды sudo для его открытия) и измените 'Applicaton' на 'Application'.

Кроме того, различные учебные пособия (такие как liberiangeek и ответ Radu ) предлагают использовать:

"xscreensaver -nosplash"

как исправление выше использует. Это зависит от того, какое значение у вас есть в вашем файле screensaver.desktop line 4: Exec=xscreensaver -nosplash.


Я сделал все это, но это не помогло - я не понял ваш последний абзац, что использование 'xscreensaver -nosplash' зависит от того, что у вас есть в файле рабочего стола. У меня есть это в обоих ... это работало до 13.10, но теперь в 14.04 это больше не работает
Киби

Я не уверен насчет исправления для 14.04, вышеприведенное исправление было для 13.04, я добавлю это в ответ сейчас ... Что касается 14.04, у меня уже были проблемы, просто пытаясь изменить фон рабочего стола (я должен перезагрузите мой ноутбук, чтобы изменения вступили в силу), чтобы проблемы могли возникнуть из-за чего-то совершенно другого ...
planty182

@ planty182 Спасибо, куча, это меня заставило.
что-то что-то

Я также добавил бы locate xscreensaver.desktopили просто искать в списке, когда вы используете locate screensaver.desktop. Мой был в~/.Desktop
Сэйблфост

когда я locate screensaver.desktopдоберусь до результатов: /etc/xdg/autostart/gnome-screensaver.desktopи /home/nestor/.config/autostart/xscreensaver.desktop. Может ли это быть для меня gnome-screensaver.desktopпричиной проблемы? Я открыл его, и он содержит Exec=gnome-screensaver, несмотря на это я удалил gnome-screensaver. Может ли это быть причиной того, что xscreensaver не работает?
NeStack

6

Один из возможных способов - ввести небольшую задержку (например, 10 секунд) перед выполнением команды. Это должно позволить всем процессам входа в систему завершиться перед выполнением команды xscreensaver.

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

sh -c "sleep 10 && xscreensaver -no-splash &"

Нет, это не работает для меня в Ubuntu 14.04. У меня это работало нормально (без этого трюка) в 13.10 .... понятия не имею, что пошло не так
Киби

Не работает даже после того, как я исправил опечатку "-no-splash" в "-nosplash"
Киби

если мы не можем точно рассчитать время, это может быть полезноbash -c 'while true;do if ! pgrep xscreensaver;then xscreensaver -nosplash;fi; sleep 1;done'
Водолей Сила

Друг, чья учетная запись AskUbuntu слишком новая, чтобы комментировать, попросил меня добавить следующее: Вариант этого произведения для Ubuntu 16.04 LTS:sh -c "sleep 10 && xscreensaver -nosplash"
maco

3

У меня это работало, затем я обновил до 14.04, и он перестал работать.

Решение - зайти в Synaptic и полностью удалить заставку Gnome. Ubuntu незаметно переустанавливает его на «апгрейд».

При перезагрузке он должен работать теперь с оригинальным xscreensaver -nosplashзапуском.


1
Привет, Киби. Вероятно, это было удалено, потому что вы опубликовали точный повторный ответ на этот вопрос . Вставка ответов в нескольких местах, как правило, осуждается. На таких сайтах, как Ask Ubuntu, мы не любим дублировать информацию. Как правило, если вы обнаружите, что ответ на вопрос совпадает с ответом на другой вопрос, вы должны пометить его как дубликат, чтобы вся важная информация оставалась в одном месте. Я восстановил это сейчас.
Сет

1
Спасибо @Seth, я удалил свой другой ответ и пометил этот вопрос как дубликат
Киби

Это все еще проблема с Ubuntu 16.04. Чтобы использовать Xscreensaver, мне пришлось удалить gnome-screensaver ...
Кори С.

1

Я провел несколько часов с той же проблемой, но потом, наконец, нашел ответ, который искал.

Зайдите на forums.debian.net и следуйте инструкциям, меняя только две вещи.

Первая строка, которая гласит:

gedit ~/.config/autostart/xcreensaver.desktop

Необходимо ввести как:

sudo gedit ~/.config/autostart/xcreensaver.desktop

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

Таким образом, если пользователь является стандартным пользователем, его тип учетной записи должен быть изменен на «Администратор», это было сделано для него из его учетной записи, а затем учетная запись изменилась обратно на «Стандартный пользователь».

Надеюсь, это исправит и вашу проблему.


0

Я думаю, это как-то связано с перенаправлением вывода. Следующая строка работала для меня в Lubuntu 13.10:

xscreensaver -nosplash -log /dev/null

Это НЕ работает для меня в Ubuntu 14.04
Киби,

0

Я новичок в Ubuntu, управлял Mandrake / Mandriva более 10 лет. Из того, что я только что нашел, простое решение, если вы хотите, чтобы оно запускалось после выхода из системы / входа в систему или загрузки, - это перейти к «показать приложения> Автозагрузка приложений> Добавить>, а затем добавить xscreensaver в качестве команды. Если я неправильно понял вопрос, я прошу прощения.


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.