Для Вашего первого вопроса это обычно зависит от Вашей сессии, т.е. файл в Вашем примере не обязательно достаточен, поскольку это не запускает Ваш WM/DE. Обычно ~/.xsession
или ~/.xinitrc
запустите целую среду, и не только используются для автоматического запуска некоторых программ, т.е. они должны содержать строку как exec x-window-manager
но глобальное xsession
май просто получает файл.
Для Вашего другого вопроса Debian (и вероятно Ubuntu) имеют /etc/X11/Xsession.d
который, например, загружается ~/.Xresources
. Эти файлы также ответственны за загрузку и нахождение менеджера окон по умолчанию.
Для отладки проблем, необходимо взглянуть в ~/.xsession-errors
или запустите xserver с консоли и см. сообщения об ошибках непосредственно там, т.е. startx -- /etc/X11/Xsession
Просто считайте stdin в цикле
iwevent | while IFS= read -r line; do
echo "[$(date "+%F %T")] - $line"
done
В зависимости от того, что Вы делаете в теле цикла, Вы могли бы хотеть
while IFS= read -r line; do
echo "[$(date "+%F %T")] - $line"
done < <(iwevent)
Это избегает неявных эффектов подоболочки использования конвейера.
Не уверенный я получаю то, что Вы имеете в виду, но что-то в направлении этого?
while IFS= read -r line; do
printf "%s\n%s\n" "$line" "Yohooo! One more package."
done < <(tcpdump -i any -nS)