Чтобы уточнить первый вариант schkovich, вот простая модификация скрипта System V /etc/init.d/postgresql.
Поэтому всякий раз, когда postgres отправляется «start / restart» / «reload» / «force-restart», , Я отправляю событие «start-postgresql» перед выдачей команды, а «start-postgresql» после ее завершения. Аналогично, с «stop», я отправляю событие «stopping-postgresql» перед командой и «stop-postgresql» после его выдачи.
Я показываю только последний блок case (case "$1" in [...] esac at в нижней части сценария. Чтобы сделать изменения более четкими (в случае, если будущие версии postgres изменяют сценарий system-V, я выделил строки, которые нужно вставить, поставив их между #### BEGIN emit-upstart-event и #### END emit-upstart-event.
case "$1" in
start|stop|restart|reload)
if [ -z "`pg_lsclusters -h`" ]; then
log_warning_msg 'No PostgreSQL clusters exist; see "man pg_createcluster"'
exit 0
fi
#### BEGIN emit-upstart-event
case "$1" in
start|restart|reload)
initctl emit starting-postgresql
;;
stop)
initctl emit stopping-postgresql
;;
esac
#### END emit-upstart-event
for v in $versions; do
$1 $v || EXIT=$?
done
#### BEGIN emit-upstart-event
case "$1" in
start|restart|reload)
initctl emit started-postgresql
;;
stop)
initctl emit stopped-postgresql
;;
esac
#### END emit-upstart-event
exit ${EXIT:-0}
;;
status)
LS=`pg_lsclusters -h`
# no clusters -> unknown status
[ -n "$LS" ] || exit 4
echo "$LS" | awk 'BEGIN {rc=0} {if (match($4, "down")) rc=3; printf ("%s/%s (port %s): %s\n", $1, $2, $3, $4)}; END {exit rc}'
;;
force-reload)
#### BEGIN emit-upstart-event
initctl emit starting-postgresql
#### END emit-upstart-event
for v in $versions; do
reload $v
done
#### BEGIN emit-upstart-event
initctl emit started-postgresql
#### END emit-upstart-event
;;
*)
echo "Usage: $0 {start|stop|restart|reload|force-reload|status} [version ..]"
exit 1
;;
esac
Если вы хотите обрабатывать перезапуск со всеми соответствующими сигналами (путем разделения перезапуска на команды остановки и запуска), вы можете выполнить:
case "$1" in
restart)
### HANDLING restart as a stop event and then a start event.
if [ -z "`pg_lsclusters -h`" ]; then
log_warning_msg 'No PostgreSQL clusters exist; see "man pg_createcluster"'
exit 0
fi
initctl emit stopping-postgresql
for v in $versions; do
stop $v || EXIT=$?
done
initctl emit stopped-postgresql
initctl emit starting-postgresql
for v in $versions; do
start $v || EXIT=$?
done
initctl emit started-postgresql
### END HANDLING restart separately
start|stop|reload)
if [ -z "`pg_lsclusters -h`" ]; then
log_warning_msg 'No PostgreSQL clusters exist; see "man pg_createcluster"'
exit 0
fi
#### BEGIN emit-upstart-event
case "$1" in
start|reload)
initctl emit starting-postgresql
;;
stop)
initctl emit stopping-postgresql
;;
esac
#### END emit-upstart-event
for v in $versions; do
$1 $v || EXIT=$?
done
#### BEGIN emit-upstart-event
case "$1" in
start|reload)
initctl emit started-postgresql
;;
stop)
initctl emit stopped-postgresql
;;
esac
#### END emit-upstart-event
exit ${EXIT:-0}
;;
status)
LS=`pg_lsclusters -h`
# no clusters -> unknown status
[ -n "$LS" ] || exit 4
echo "$LS" | awk 'BEGIN {rc=0} {if (match($4, "down")) rc=3; printf ("%s/%s (port %s): %s\n", $1, $2, $3, $4)}; END {exit rc}'
;;
force-reload)
#### BEGIN emit-upstart-event
initctl emit starting-postgresql
#### END emit-upstart-event
for v in $versions; do
reload $v
done
#### BEGIN emit-upstart-event
initctl emit started-postgresql
#### END emit-upstart-event
;;
*)
echo "Usage: $0 {start|stop|restart|reload|force-reload|status} [version ..]"
exit 1
;;
esac
Два других ответа недействительны; они говорят об открытии файлов MS Publisher в Libre Office, а не наоборот. Но ответ - нет, MS Office не поддерживает какой-либо файл Libre Office; они уже немного опасны, когда бесплатное альтернативное решение становится все более популярным. Они, безусловно, не будут поддерживать в ближайшее время ... Однако в качестве альтернативы вы можете экспортировать его в формате PDF, как показано ниже:
probaby ваша мама может открыть файл, проверьте это
http://ask.libreoffice.org/en/question/14/can-i-use-microsoft-publisher-files-with- LibreOffice /
Libreoffice должен, но если вам не нравятся результаты, попробуйте Scribus.
Scribus - приложение для публикации на рабочем столе (DTP). Scribus предназначен для гибкой компоновки и набора текста, а также для подготовки файлов для профессионального оборудования для настройки изображения. Он также может создавать анимированные и интерактивные PDF-презентации и формы. ScribusЧтобы установить, просто нажмите Ctrl + Alt + T на клавиатуре, чтобы открыть терминал. Когда он откроется, запустите следующие команды:
sudo add-apt-repository ppa:scribus/ppa
sudo apt-get update
sudo apt-get install scribus-trunk
Для получения дополнительной информации см. Их сайт