В недавней версии bash вы можете использовать замену процесса.
foo 2> >(tee stderr.txt)
Это просто отправляет stderr программе, выполняющей tee.
Более переносимый
exec 3>&1
foo 2>&1 >&3 | tee stderr.txt
Это делает файловый дескриптор 3 копией текущего стандартного вывода (т. Е. Экрана), затем настраивает конвейер и запускает foo 2> & 1> & 3
. Это отправляет stderr из foo в то же место, что и текущий stdout, который является каналом, затем отправляет stdout на fd 3, исходный вывод. Канал передает исходный stderr из foo в tee, который сохраняет его в файл и отправляет на экран.
Один из вариантов, на который вы можете обратить внимание, — запуск пара Дистанционное воспроизведение . Если вы добавите в свою библиотеку -не Steam игры, вы сможете играть в них через дистанционное воспроизведение.
Я бы порекомендовал взглянуть на Steam Remote Play или Moonlight. Я попробовал Moonlight несколько лет назад, и это сработало довольно хорошо.
Предполагая, что у вас приличный монитор, подключите компьютер с Linux к одному из входов монитора, а игровой компьютер с Windows — к другому входу этого монитора. Просто нажмите кнопку на мониторе и переключайтесь между играми Linux и Windows.
Либо вручную переместите USB-клавиатуру и мышь между компьютерами, либо получите USB Switch Selector
за 20 долларов США на Amazon.
Вы не захотите запускать игру через vnc на машине с Windows, особенно если на машине с Windows установлена видеокарта nvidia или amd.
I have an unused machine which already has windows on it sitting next to me.
:фейспалм: