Есть ли способ установить приветствие в Ubuntu?


20

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

Ответы:


16

Вы можете открыть простой диалог zenity при входе в систему с содержанием вашей цитаты.

Поместите следующий код в скрипт, затем добавьте этот скрипт в ваши «автозагрузка приложений»

zenity --info --text=$quote --title="A Quote"

С помощью fortune

Установите fortune-modпакет ( sudo apt-get install fortune-mod), затем вы можете интегрировать fortuneкоманду в ваш скрипт следующим образом:

zenity --info --text="$(fortune literature)" --title="A Quote" --no-wrap

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

literatureПараметр используется для указания того, что вы хотите цитату конкретно, в противном случае это даст вам шутки, загадки и другие «состояния».

Примечание: некоторые состояния довольно длинные, используйте --text="$(fortune -s literature)"вместо --text="$(fortune literature)"команды выше, чтобы печатать только короткие кавычки.

Снимок экрана ниже: Удачи в диалоге

У Fortune также есть много различных опций для настройки типа цитат, которые вы получите (литература, загадки и т. Д.). Для получения дополнительной информации см. Справочную страницу фортуны . Чтобы использовать эти параметры, просто измените fortuneкоманду выше на fortune SOME_OPTION.

Кредиты FreudianSlip для fortuneкоманды


1
Я не уверен, что это все еще так, но в старых версиях Unix команда "fortune" предлагала много разных фраз / высказываний. Я не на linux / unix box для тестирования прямо сейчас, но я уверен, что вы найдете ссылки на него.
FreudianSlip

lost.sourceforge.net работает с Fortune, чтобы улучшить ваши навыки сисадмина.
K7AAY

@kiloseven, конечно, вы могли бы заменить fortuneкоманду любой имеющей информацию командой (можете найти).
Кири

Последний аргумент, который принимает команда fortune - это необязательное имя файла / каталога, поэтому вы можете создавать и использовать свою собственную коллекцию цитат. Я не помню точный формат файла, но это очень простой текстовый файл, который вы можете легко поддерживать с помощью текстового редактора.
Джо

Если вы идете с всплывающим окном, также посмотрите на Яд. Это замена zenity со многими другими функциями и отличной поддержкой.
Джо

11

Если вы хотите придумать что-то новое (например, показать прозрачную цитату на своих обоях, набрать несколько напоминаний и т. Д.):

  1. Откройте терминал нажатием Ctrl+ Alt+T
  2. Перейдите в «Редактировать> Профили> Новый».
  3. Дайте ему имя (например, «quote_of_the_day») и нажмите « Создать» .
  4. Нажмите «Изменить», перейдите на вкладку «Цвета» и снимите флажок «Использовать цвета из ...».
  5. Выберите цвет текста, который будет виден на вашем рабочем столе.
  6. Перейдите на вкладку « Фон », выберите « Прозрачный фон» и установите для него значение «Нет».
  7. На вкладке « Прокрутка » выберите «Полоса прокрутки: Отключено ».
  8. Вы можете изменить шрифт и размер из общей вкладки.
  9. Здесь вы также можете изменить столбцы и строки примерно до 50 и 5 соответственно.
  10. Перейдите к заголовку и команде и выберите сохранить исходный заголовок в поле со списком.

Теперь вы создали профиль терминала для отображения котировок. введите описание изображения здесь

Далее мы сделаем параметр compiz, чтобы поместить его на фон рабочего стола и удалить эти тени и украшения.

  • Откройте Compiz Config, набрав в терминале ccsm(если он у вас установлен)
  • Нажмите Правила окна и сделайте следующее: введите описание изображения здесь

  • Нажмите « Поместить Windows» и сделайте следующее: введите описание изображения здесь
  • Примечание : позиции 600 x и 100 y должны быть изменены в соответствии с разрешением экрана. (это где-то в правом верхнем углу)
  • Перейдите к оформлению окна и сделайте следующее: введите описание изображения здесь



Теперь скопируйте и вставьте приведенный ниже скрипт в gedit и сохраните его как quote_script.py

import commands
from time import sleep
import random

quotefile = "/home/user/Documents/.../quotes.txt"
interval = 10

with open(quotefile,'rb') as data: quotes = data.readlines()
print "\x1b[?25l"+random.choice(quotes)[:-1]
sleep(interval)
exit()

Измените файл цитаты и интервал в соответствии с вашим местоположением файла и временем отображения цитаты
Перейдите в автозагрузку приложений , набрав в терминале: gnome-session-properties . Добавьте новый, нажав кнопку Добавить, и введите:

  • Имя :

    Ежедневные котировки

  • Команда :

    gnome-terminal --window-with-profile=quote_of_the_day -e "python /home/user/Documents/.../quote_script.py"
    
  • Комментарий :

    Показать случайные цитаты при входе в систему


Это оно! Вы можете попытаться выйти и снова, чтобы увидеть результат.

Конечный результат:

введите описание изображения здесь
- Поэкспериментируйте со значениями столбцов и строк терминала; Значения положения, интервал, цвета шрифта и т. Д. Не забывайте помещать кавычки в файл quotes.txt построчно.


Хороший ответ, и лучше с питоном, но не самый простой или самый простой ответ. Я бы также предложил отключить «Нет фокуса» и добавить «», input("Press enter...")чтобы закрыть диалоговое окно вручную. Кроме того, не 'rb'читается бинарный режим?
Кири

да, хорошая практика для чтения символов Юникода, управляющие символы и т.д. rпросто читает простой текст и \n, \t. Кроме того, цитата автоматически исчезает через 10 секунд (устанавливается пользователем).
Студент Python

2

Допустим, у вас есть все ваши кавычки в одном файле с именем quotes.txt(каждая кавычка в одной строке) где-то сохранены, скажем, в ~/Documents. Затем с помощью терминала вы можете сделать:

  1. Создайте новый файл / скрипт greeting.shв вашем ~/binкаталоге:

    mkdir -p ~/bin #this command will make a bin directory in your home folder if you don't already have it
    gedit ~/bin/greetings.sh
  2. Если вы хотите получить уведомление на рабочем столе, поместите следующие 2 строки внутри:

    #!/bin/bash
    
    quotes="$HOME/Documents/quotes.txt"
    random_line=$(shuf -i 1-$(wc -l < $quotes) -n 1)
    quote=$(sed -n -e "$random_line"p $quotes)
    notify-send "Quote of the day" "$quote"

    В качестве альтернативы, если вы хотите, чтобы всплывающее окно (окно сообщения) отображалось, используйте zenityвместо этого notify-send:

    zenity --info --title  "Quote of the day" --text "$quote"
  3. Сохраните файл и закройте его.

  4. Сделайте файл исполняемым:

    chmod +x ~/bin/greetings.sh
    
  5. Поиск в Dash для запуска приложений , откройте его и нажмите кнопку Добавить .

  6. Под именем типа «Показать мое имя и дату» или что-то вы узнаете.
  7. Под тип команды: /home/$USER/bin/greetings.sh(изменить $USERс вашим именем пользователя).
  8. Под комментарием (если хотите) введите краткое описание.

Связанный: Как мне показать сообщение с именем пользователя и датой при входе в систему?


1
Ваш сценарий можно упростить, просто используя quote=$(shuf -n 1 "$quotes")- не нужно вызывать sed или wc, так как shuf -n 1 fileон даст вам случайную строку из файла сам по себе.
evilsoup

0

Несколько ответов здесь, ни один не был достаточно простым для меня.

Я закончил тем, что установил Variety , который может красиво писать случайные цитаты на обоях для разных источников, в моем случае из локального файла.


Добро пожаловать в AskUbuntu! Этот ответ был бы намного лучше, если бы вы на самом деле объяснили, как можно написать случайные цитаты на обоях с помощью Variety.
Старейшина Гик
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.