У меня есть беспроводной принтер, который всегда включен, и постоянно включенный безвентиляторный сервер Linux.
Глядя на проект mprinter на Kickstarter, я начал задаваться вопросом, есть ли способ подготовить автоматическую ежедневную распечатку на основе некоторых настроек.
Вещи, которые будут напечатаны, могут включать:
- прогноз погоды для моего местоположения
- TODO, запланированные на этот день
- «цитата дня» или «слово дня»
- статистика из Google Analytics для моего сайта
- и многое другое…
Я бы установил распечатку на 6:15 каждый рабочий день, чтобы она была на принтере, когда я уже встаю и пью кофе.
Хотя я знаю, что это можно сделать, объединив возможности TeX, cron и языка скриптов для управления динамической частью PDF, я полагаю, что это тот случай использования, который кто-то уже мог рассмотреть.
Как я могу это настроить?
решение1
Это ни в коем случае не самый чистый способ ведения дел. Это общая идея того, что вы могли бы быстро собрать воедино, чтобы достичь желаемого.
Настройте свой принтер
Прежде всего, вам нужно, чтобы ваш принтер работал. CUPS поддерживает беспроводные принтеры, так что с небольшой удачей и правильными драйверами вы сможете настроить его. Для получения дополнительной информации обратитесь к вики-страницам/справке вашего сервера.
Получить данные
Затем вы хотите получить ваши данные в виде открытого текста. Google поможет вам найти скрипты, которые будут выполнять большинство общих задач, которые вам нужны:
Для других особых нужд вам придется написать их самостоятельно:
- TODO-задачизависит от того, какой механизм вы уже используете для отслеживания этого
- Гугл Аналитика. К сожалению, недоступно через браузеры командной строки, и я ничего не знаю о Google Analytics API. Я могу придумать только очень уродливые и ненадежные способы сделать это, так что вам придется поискать.
Совместно взламывайте свои скрипты
Теперь у нас есть куча скриптов, которые работают, но нам нужно собрать все эти данные вместе. Для большинства моих хакерских работ я использую Python
. Его не только легко взять и использовать, вы даже можете «внедрить» другие скрипты в файл python и получить их входные данные:
из os импортировать popen
script='''ps aux; echo; free -h'''
вывод=popen(скрипт).read()
Не самая лучшая идея, но так вы неиметьпереписать сложные функции, которые вам уже доступны.
Форматирование
HTML легко выучить и сделать более красивым. Google снова спешит на помощь:Питон и HTML. Объедините имеющиеся у нас данные с HTML, добавьте несколько строкCSSчтобы определить, как будет выглядеть ваша страница (шрифты, цвета, макеты и т. д.), и заставить Python записать все это в файл.
Распечатайте документ
Сохраните ваш скрипт на сервере и протестируйте его. Перейти к
Can I print html files from the command-line?
сделать тестовую печать.Добавитьхронработа, которая будет запускать ваш скрипт каждое утро в указанное вами время.
Добавьте кофе.
Бумага — это ценный ресурс; я бы хотел, чтобы мой веб-сервер обслуживал этот файл и читал его на планшете, телефоне или ноутбуке.