фар ни у кого при хибернации не прячется?
фар ни у кого при хибернации не прячется?
Последнее время несколько раз казалось, что после хибернации пропадает запущенный фар. Внимания особо не обращал, и сам мог ошибиться, но сейчас полез в тасклист - а они все там, штук 10 запущенных висит, только все невидимые. Судя по времени, началось после апгрейда с 5888 на 5959. Я одинок?
- HaRT
- Moderator
- Posts: 10863
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
фар ни у кого при хибернации не прячется?
У вас Фар запускается через традиционную консоль (ConHost) или через Windows Terminal? Другие окна conhost/wt в результате спячки системы не прячутся, только Фар?
Фар есть инструмент, а не нянька. © 2009 DrKnS
- buniak_a_h
- Posts: 4262
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 644 times
- Contact:
фар ни у кого при хибернации не прячется?
У меня сначала (после перехода на Windows 10) была проблема, что многие приложения снимались (не прятались, а совсем снимались) после пары суток (или даже меньше) непрерывной работы. Было обидно за Миранду, скайп и пр.. Потом я нашёл, где это настраивается. Увы, уже не помню …
фар ни у кого при хибернации не прячется?
Ok, тогда подробнее, потому что там не все так просто: идет битва с UAC в условии доменных политик, кто знает - посочувствует. Чтобы избежать вопросов UAC, передаем выполнение команд, требующих админского доступа, таску sudo (task scheduler) в скрипте %userprofile%\temp\sudo.cmd. Таск этот скрипт запускает с максимальными привилегиями (<RunLevel>HighestAvailable</RunLevel>), а после выполнения - удаляет
так UAC с вопросами не пристает. Этот таск деграется из раппера sudo.cmd
а собственно хибернация запускается скриптом hibernate.cmd
psshutdown - из sysinternals.
Теперь собираем все это вместе: когда hibernate.cmd запускается из фара, именно этот экземпляр фара после выхода из хибернации прячется, те в виндовом таск менеджере попадает в background tasks, а process explorer из sysinternals говорит про него, что no visible windows. Другие запущенные в этот момент фары не пропадают, если через sudo.cmd запустить что-то отличное от хибернации, все будет нормально, и проявляется с 5959, но не с 5888. Windows 10, фар запускается из .lnk файла из меню (опеншелл), что такое windows terminal я не знаю, но, по-видимому, conhost, потому что у фара conhost.exe висит как чайлд. Легаси консоль - так надо.
Code: Select all
<Actions Context="Author">
<Exec>
<Command>cmd</Command>
<Arguments>/min /c %userprofile%\temp\sudo.cmd > %userprofile%\temp\sudo.log</Arguments>
</Exec>
<Exec>
<Command>cmd</Command>
<Arguments>/min /c del /q %userprofile%\temp\sudo.cmd</Arguments>
</Exec>
</Actions>
Code: Select all
@echo off
set cmd=%userprofile%\temp\sudo.cmd
set log=%userprofile%\temp\sudo.log
:wait-run
schtasks /query /tn sudo|find "Running"
if errorlevel 1 goto run
echo %time% queued...
timeout /t 1 >nul
goto wait-run
:run
echo %* > %cmd%
schtasks /run /tn sudo >nul
:wait-end
if not exist %cmd% goto end
echo %time% running...
timeout /t 1 >nul
goto wait-end
:end
type %log%
Code: Select all
@echo off
if .%1==.y goto doit
if .%1==./y goto doit
if .%1==.-y goto doit
echo About to hibernate.
pause
:doit
sudo psshutdown -h -t 0
Теперь собираем все это вместе: когда hibernate.cmd запускается из фара, именно этот экземпляр фара после выхода из хибернации прячется, те в виндовом таск менеджере попадает в background tasks, а process explorer из sysinternals говорит про него, что no visible windows. Другие запущенные в этот момент фары не пропадают, если через sudo.cmd запустить что-то отличное от хибернации, все будет нормально, и проявляется с 5959, но не с 5888. Windows 10, фар запускается из .lnk файла из меню (опеншелл), что такое windows terminal я не знаю, но, по-видимому, conhost, потому что у фара conhost.exe висит как чайлд. Легаси консоль - так надо.
Last edited by lvmm on Fri 18 Mar, 2022 07:49, edited 3 times in total.
фар ни у кого при хибернации не прячется?
Правильно я понимаю, что проверку указанных версий far сейчас вы не делали?
Т.е. изменение поведения из-за обновления windows а не far не было исключено.
фар ни у кого при хибернации не прячется?
Ну, даже допуская баг в фар...
Условия воспроизведения очень вычурны, обходится просто, в changelog ничего подозрительного нет.
Пропадание консоли - это скорее всего умирание conhost (сам фар жив).
Не думаю что кто-то станет тратить на это время.
Условия воспроизведения очень вычурны, обходится просто, в changelog ничего подозрительного нет.
Пропадание консоли - это скорее всего умирание conhost (сам фар жив).
Не думаю что кто-то станет тратить на это время.