1. Подготовка проекта

Создайте папку, где будет храниться скрипт и файлы‑данные:

mkdir -p ~/QuoteWidget

2. Скрипт‑генератор цитат (27 строк Python)

python

Копировать код
#!/usr/bin/env python3
import requests, os, textwrap

BASE = os.path.dirname(os.path.abspath(__file__))
FILE = os.path.join(BASE, "desktop_quote.txt")

def fetch():
try:
r = requests.get("https://zenquotes.io/api/random", timeout=10)
if r.status_code == 200:
q = r.json()[0]
txt = textwrap.fill(q["q"], width=50) + f"\n- {q['a']}"
open(FILE, "w").write(txt)
except:
pass

if __name__ == "__main__":
fetch()

Сделайте файл исполняемым и запустите - появится desktop_quote.txt:

chmod +x quote-engine.py
./quote-engine.py

3. Отображение через готовый "Command"‑desklet

  1. Add Desklets → Download → Command - установите.
  2. Добавьте его на рабочий стол, откройте настройки и удалите всё лишнее (дата, версия Cinnamon и т.п.).
  3. Вкладка Command+Command:
cat "$HOME/QuoteWidget/desktop_quote.txt"
  1. Настройте шрифт, цвет, прозрачность в табе Style и разместите виджет где захотите.

4. Автоматическое обновление (systemd)

Сервис /etc/systemd/system/quote-fetcher.service:

[Unit]
Description=Fetch a new inspirational quote
After=network-online.target

[Service]
Type=oneshot
ExecStart=/usr/bin/python3 "$HOME/QuoteWidget/quote-engine.py"
User=$USER

Таймер /etc/systemd/system/quote-fetcher.timer (пример - каждые 2 минуты):

[Unit]
Description=Run the quote fetcher every 2 minutes

[Timer]
OnBootSec=5min
OnUnitActiveSec=2min
Persistent=true

[Install]
WantedBy=timers.target

Активируйте:

sudo systemctl daemon-reload
sudo systemctl enable --now quote-fetcher.timer

5. Более "фоновой" вариант - Conky (по желанию)

sudo apt update && sudo apt install conky-all -y

Создайте ~/QuoteWidget/quote.conkyrc:

conky.config = {
alignment = 'top_right', gap_x = 50, gap_y = 100,
own_window = true, own_window_type = 'desktop',
own_window_transparent = true, own_window_argb_visual = true,
use_xft = true, font = 'DejaVu Sans:italic:size=12',
update_interval = 5.0, double_buffer = true,
}
conky.text = [[
${color orange}DAILY WISDOM${color}
${hr}
${execi 5 cat "$HOME/QuoteWidget/desktop_quote.txt"}
]]

Запустите один раз conky -c "$HOME/QuoteWidget/quote.conkyrc" и добавьте в Startup Applications команду conky -p 10 -c "$HOME/QuoteWidget/quote.conkyrc".

  • 27‑строчный Python‑скрипт получает случайную цитату из Zen Quotes.
  • "Command"‑desklet показывает её на рабочем столе.
  • systemd‑таймер обновляет цитату автоматически.
  • При желании Conky делает виджет частью обоев.

Получаете чистый, постоянно меняющийся источник вдохновения без лишних зависимостей.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *