Вопрос или проблема
В Windows 10 я закрепил две разные командные строки на панели задач как первое и второе приложения. Это позволяло запускать их и переключаться между ними с помощью Windows+1 и Windows+2. Здорово!
В Windows 11 эти ярлыки служат только для запуска приложения Terminal. Когда я использую Windows+1, это запускает еще один экземпляр приложения вместо переключения на уже существующий. Когда я запускаю приложение, активная точка под значком не отображается — вместо этого на панель задач добавляется значок Terminal.
Обратите внимание, что эта проблема не связана с объединением окон Terminal, поэтому изменение параметров поведения панели задач не помогает. Я хочу закрепить два разных скрипта, которые работают как консольные приложения вместо двух скриптов, выполняющихся в Terminal.
Вместо Windows Terminal используйте alacritty.
- Если вы используете scoop и у вас установлены extras, установите его командой:
scoop install alacritty
. В противном случае получите установщик с их релизов и скорректируйте пути ниже соответствующим образом. - Создайте ярлык на рабочем столе к исполняемому бат-файлу, который вы хотите запустить (например,
C:\bin\run_game.bat
):
%USERPROFILE%\scoop\shims\alacritty.exe -e C:\bin\run_game.bat
- Запустите этот новый ярлык, щелкните правой кнопкой мыши значок на панели задач и нажмите “Закрепить на панели задач”. Вы можете удалить ярлык.
Аналогично, чтобы закрепить Ubuntu, создайте ярлык для:
%USERPROFILE%\scoop\shims\alacritty.exe -e "C:\Program Files\WindowsApps\CanonicalGroupLimited.UbuntuonWindows_2004.2022.1.0_x64__79rhkp1fndgsc\ubuntu.exe"
И повторите шаг 3 выше. (Этот путь исполняемого файла отображается в Process Explorer, когда я запускаю Ubuntu из стартового меню.)
Единственным недостатком alacritty оказалось то, что он, похоже, не поддерживает функцию “выделение текста для остановки выполнения”, как cmd.exe.
Альтернативно использовать wsltty.
Однако я переключился с wsltty на alacritty, потому что wsltty не закрывает процессы, запущенные в терминале, при закрытии окна alacritty. В конечном итоге это приводит к исчерпанию слотов conhost.exe и ошибке при запуске, пока вы не убьете процессы.
С wsltty можно получить WSL терминал для linux и нескольких бат-программ. wsltty поставляется с mintty, который является альтернативой встроенному Windows Terminal.
Эти шаги сработали для меня:
- Создайте ярлык, который запускает wsltty с бат-файлом и закрепите его на панели задач:
- Пример цели:
%USERPROFILE%\scoop\apps\wsltty\current\bin\mintty.exe --exec C:\bin\run_program_here.bat
- Это закрепится как ярлык, который вы настроили. Вы можете повторить это для закрепления нескольких разных ярлыков.
- Пример цели:
- Создайте ярлык, который запускает cmd.exe и закрепите на панели задач:
- Пример цели:
C:\Windows\System32\cmd.exe /k C:\bin\run_another_program.bat
- Это закрепится как стандартное приложение Terminal. Все другие случаи использования Terminal будут соединены под этим значком на панели задач.
- Пример цели:
- Нажмите Win и введите “WSL Terminal”, запустите его и закрепите на панели задач.
- Для меня запуск этого загружал Ubuntu.
Я создал все эти ярлыки на своем рабочем столе. Вы можете перетащить и отпустить mintty.exe на рабочий стол и выбрать «Создать ярлыки здесь». Затем посмотрите в свойства и измените Цели и Стартовую директорию.
Если вы используете scoop и у вас установлены extras, установите при помощи: scoop install wsltty
Ответ или решение
Для настройки двух иконок на панели задач Windows 11 для двух различных терминальных приложений вам потребуется использовать альтернативные инструменты и методы, поскольку стандартная Windows Terminal в Windows 11 не поддерживает такую кастомизацию по умолчанию. Ваша цель – закрепить на панели задач отдельные ярлыки для двух различных консольных приложений, чтобы запускать их с помощью комбинаций клавиш Windows+1 и Windows+2, как это было в Windows 10. Предлагаю рассмотреть использование альтернативных терминальных эмуляторов, таких как Alacritty и wsltty.
Теория:
Windows 11 и управление терминальной средой: В Windows 11 Microsoft сосредоточилась на интеграции Windows Terminal как единой платформы для работы с различными оболочками, включая PowerShell, командную строку, и WSL (Windows Subsystem for Linux). Это привело к проблемам с кастомизацией, так как стандартные возможности Windows 11 не позволяют закреплять отдельные консольные приложения так же просто, как это было в предыдущих версиях операционной системы.
Alacritty и wsltty как решения: Alacritty и wsltty являются альтернативными терминальными эмуляторами, которые обеспечивают больше возможностей для кастомизации и управления терминальными окнами. Alacritty известен своей высокой производительностью и кроссплатформенностью, тогда как wsltty предлагает интеграцию с WSL и возможностями работы с различными батч файлами.
Пример:
-
Использование Alacritty:
-
Установка: Если вы используете пакетный менеджер Scoop и у вас настроены дополнительные репозитории, просто выполните команду
scoop install alacritty
. В противном случае, вы можете скачать установочный файл с страницы выпусков Alacritty на GitHub. -
Создание ярлыков: Создайте на рабочем столе ярлык для вашего батч файла (например,
C:\bin\run_game.bat
), используя следующую команду в качестве цели:%USERPROFILE%\scoop\shims\alacritty.exe -e C:\bin\run_game.bat
-
Закрепление на панели задач: Запустите созданный ярлык, щелкните правой кнопкой мыши на его значок на панели задач и выберите "Закрепить на панели задач". Затем можете удалить ярлык с рабочего стола.
-
Закрепление Ubuntu: Создайте еще один ярлык с командой для запуска Ubuntu через Alacritty:
%USERPROFILE%\scoop\shims\alacritty.exe -e "C:\Program Files\WindowsApps\CanonicalGroupLimited.UbuntuonWindows_2004.2022.1.0_x64__79rhkp1fndgsc\ubuntu.exe"
Повторите шаги для закрепления на панели задач.
-
-
Использование wsltty:
-
Установка: Для установки с помощью Scoop выполните команду
scoop install wsltty
. Вручную скачайте установщик с GitHub. -
Создание ярлыков: Создайте ярлык для запуска батч файла с помощью wsltty. Пример команды для запуска:
%USERPROFILE%\scoop\apps\wsltty\current\bin\mintty.exe --exec C:\bin\run_program_here.bat
-
Закрепление на панели задач: Запустите ярлык, закрепите его на панели задач аналогично вышеописанному процессу.
-
WSL и другие программы: Для запуска WSL создайте ярлык на "WSL Terminal" и закрепите его на панели задач. Это позволит вам управлять Ubuntu и другими WSL-дистрибутивами из отдельного окна.
-
Применение:
Используя указанные шаги, вы сможете организовать свою рабочую среду в Windows 11, создавая отдельные иконки на панели задач для часто используемых терминальных приложений. Это позволит добиться желаемой скорости и удобства при переключении между различными процессами разработки, такими как тестирование кода или работа над проектами в WSL. Использование таких решений, как Alacritty и wsltty, поможет обойти ограничения стандартного интерфейса Windows 11, предоставляя больше контроля над запуском и управлением терминальными процессами.
Таким образом, Alacritty и wsltty предлагают мощные решения для тех, кто нуждается в гибкости и кастомизации, не предоставляемой стандартными средствами Windows 11. Это может существенно повысить вашу производительность и улучшить рабочий процесс, особенно если ваши задачи связаны с частым использованием различных командных интерфейсов.