Я считаю это решение более элегантным:
FILE=/tmp/file.log
exec >> $FILE
./myprogram 1.txt
./myprogram 2.txt
./myprogram 3.txt
./myprogram 4.txt
exec 1<&2
echo 'Normal output has returned!'
Причина отсутствия последовательности «urxvt», «URxvt» заключается в том, что XWindows находятся в иерархии. И почему-то на моем рабочем столе окна urxvt находятся не на первом уровне.
Итак, нужно пройти через целое дерево так:
from Xlib.display import Display
def printWindowHierrarchy(window, indent):
children = window.query_tree().children
for w in children:
print(indent, w.get_wm_class())
printWindowHierrarchy(w, indent+'-')
display = Display()
root = display.screen().root
printWindowHierrarchy(root, '-')
Одна строка (вероятно, довольно длинная) выходных данных сценария тогда:
--- ('urxvt', 'URxvt')
-121--56518- Нет, -k1,2
говорит сортировать по части строки, которая начинается в начале первого поля и заканчивается в конце второго поля.
Чтобы отсортировать по первому полю, а затем по второму, это:
sort -k1,1 -k2,2
-121--82194- У меня уже была похожая проблема с Debian. Я нашел несколько способов исправить это. Во-первых, необходимо отключить все соединения Ethernet и убедиться, что сценарий запуска не инициирует соединения Ethernet. Затем установите WiFi при запуске для автоматического подключения к конечной точке WiFi.
Вы можете попробовать это в сценарии запуска:
перезапуск диспетчера сети службы
ifconfig eth0 вниз
ifconfig wlan0 up
Другой вариант состоит в том, чтобы форсировать dchp для запроса ip из поля. Я нашел, что это обеспечило связь. udhcpc -i device_name
Однако это может привести к некоторым странным поведениям, таким как статические маршруты, которые не соответствуют действительности. Я заметил, что иногда мой ящик будет менять IP-адреса, даже если он находится в статическом маршруте.
Проблема также может быть проблемой совместимости между модулем WiFi в вашем ящике и вашей конечной точкой (маршрутизатором) или тем, что защита на конечной точке автоматически разъединяет определенные соединения по какой-то причине, то есть конкретный запрос или поведение может вызвать его.
Я столкнулся с той же проблемой. Лучший ответ, который я могу предложить, - это получить кабель Ethernet и напрямую подключиться к точке доступа. Однако это только обходной путь. Возможно, ошибка в Ubuntu, после обновления Ubuntu в новое обновление 14.04, проблема, похоже, ушла.