Я люблю цитату. Тепер я хочу, щоб щоразу, коли мій комп'ютер запускається, цитата виходила на екран, як вітальна записка. Чи є якийсь спосіб зробити це в ubuntu 13.04?
Я люблю цитату. Тепер я хочу, щоб щоразу, коли мій комп'ютер запускається, цитата виходила на екран, як вітальна записка. Чи є якийсь спосіб зробити це в ubuntu 13.04?
Відповіді:
Ви можете спливати просте діалогове вікно про вхід із вмістом вашої цитати.
Помістіть наступний код у сценарій, а потім додайте його до "Запуск програм"
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 man" . Щоб використовувати ці параметри, просто змініть fortune
команду вище на fortune SOME_OPTION
.
fortune
команду будь-якою інформаційно-подібною командою, яку ви маєте (можете знайти).
Якщо ви хочете пофантазувати речі (наприклад, показати прозору цитату на шпалерах, введіть нагадування тощо):
Тепер ви створили термінальний профіль для відображення лапок.
Далі ми зробимо параметр compiz, щоб розмістити його на тлі робочого столу та видалити ті тіні та прикраси.
ccsm
(якщо припустимо, що він встановлений)
Тепер скопіюйте та вставте нижченаведений скрипт у gedit та збережіть його як quo_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-властивості . Додайте новий, натиснувши додати та введіть:
Ім'я :
Щоденні котирування
Команда :
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 секунд (набір користувача).
Скажімо, що у вас є всі цитати в одному файлі під назвою quotes.txt
(кожна цитата в одному рядку), десь збережені ~/Documents
. Потім, використовуючи термінал, ви можете зробити:
Створіть 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
Якщо ви хочете отримати сповіщення на робочому столі, помістіть наступні два рядки:
#!/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"
Збережіть файл і закрийте його.
Зробіть файл вичерпним:
chmod +x ~/bin/greetings.sh
Знайдіть у Dash додатки для запуску , відкрийте його та натисніть кнопку Додати .
/home/$USER/bin/greetings.sh
(змініть $USER
своє ім’я користувача).Пов’язано: Як відображати повідомлення з ім'ям користувача та датою при вході в систему?
quote=$(shuf -n 1 "$quotes")
- немає необхідності в дзвінках sed або wc, оскільки shuf -n 1 file
він дасть вам випадковий рядок з файлу сам по собі.
Тут кілька відповідей, жодна для мене не була досить простою.
Я закінчив встановити Variety , який може чудово писати випадкові цитати на шпалери для різних джерел, у моєму випадку з локального файлу.