Список інструментів, щоб Windows відчувала себе більше як Linux
Оскільки я перейшов на Windows 10 з WSL Я вирішив скласти список програмного забезпечення, яке мені доведеться використовувати, щоб наблизити Windows до свого звичного робочого процесу Linux. Давайте дамо зрозуміти, що інтерфейс Windows відстойний, він застряг у90s і все повинно бути натиснуто і перетягнуто вказівником миші. Я не знаю, чи це а культури річ (розробникам Windows має дуже сподобатися миша), або для цільова демографія ("натиснути на цю річ!" легко пояснити), або через найкращі практики безпеки (якщо ми надаємо користувачеві занадто великий контроль, зловмисне програмне забезпечення це буде використовувати) або просто Оболонка Windows будується з купи технологічних боргів, що ускладнює додавання функціональних можливостей для просунутих користувачів. Справа в тому, що прості речі в Linux потребують складних рішень у Windows.
В Linux кожен менеджер Windows має певну форму віртуального робочого столу, вікна були нещодавно побудовані за допомогою W10. Річ у тім, що на момент написання статті ви можете переходити лише вліво і вправо за допомогою гарячих клавіш, а гарячих клавіш для переходу на робочий стіл X немає. бібліотека vd але я не знайшов програмного забезпечення, яке використовує його, натомість лише AHK[1] сценарії з поганою реалізацією, наприклад "цикл, поки ми не знаходимось у правильному VD".
Відсутність належних ярликів для вбудованих віртуальних робочих столів Windows змусила мене використовувати програмне забезпечення сторонніх виробників, яких багато, я вибрав dexpot оскільки він робить все те, що мені було б потрібно і більше (я був би щасливий тількиgo to X
таmove window to X
ярлики). Єдина проблема полягала в тому, що dexpot не може прив’язувати вже зв’язані ключі ... дещо AHK може замінити ключі, що використовуються іншими програмами, тоді як dexpot - ні, я припускаю, що це тому, що він покладається на інший API Windows (або [dll]). Вихідний шлях - переробити ярлики, які я хотів (наприкладWin+1
) з безкоштовним ярликом, який можна встановити на dexpot (наприклад,Win+Shift+F1
)
Powertoys дозволяє відобразити клавіші та ярлики, щоб я міг зіставити CapsLock-> LeftControl та RightControl-> LeftControl. І ярлики типуWin+hjkl
до стрілок. ШкодаWin+l
це ярлик Windows за замовчуванням для блокування екрану, і його неможливо переназначити ... ключ реєстру замінює ярлики та виправляє це ... поки ви не оновите windows ..., тому вам доведеться застосовувати виправлення при кожному завантаженні!
Панель запуску програм, надана powertoys, є досить функціональною, не займає набагато більше пам'яті, ніж KRunner, і швидка і чуйна. Єдина скарга полягає в тому, що час від часу він втрачає фокус, але це, швидше за все, проблема у хворому Windows (як у збоченому) контролі над тим, яке вікно має бути зосереджене в будь -який момент часу.
Я переключився з sway на KDE у Linux, тому я не був таким любителем кахельних вікон. Powertoys має FancyZones, що є невеликим поліпшенням у порівнянні з основними застібками вікон, які пропонує це вікно прогалини та макети. Тим не менш, все ще бракує найважливішого, що робить плитку корисною, тобто правила застосовувати до відповідних вікон, але це також потребуватиме підтримки віртуальних робочих столів ... і ми вже згадували їх поточний стан. У порівнянні KWin дозволяє співставляти вікна з дуже складними визначеннями. FancyZones обходить проблему з правилами, зберігаючи позиції вікон протягом сеансів, але я не досліджував, наскільки добре це працює з різними віртуальними робочими столами.
Windows можна перетягнути лише з рядка заголовка та додаткової утиліта потрібно використовувати для переміщення їх за допомогою комбінації клавіш.
У KDE у вас є плазмові віджети для відображення системної інформації, хоча плазмові віджети, як правило, споживають багато пам'яті, тому я їх не так багато використовував. У Windows немає вбудованої утиліти для цього, спробувавши кілька утиліт, на яких я зупинився Монітор трафіку що дає мережу, процесор, пам'ять, а нещодавно були додані графічний процесор і темпи. В результаті виходить гарний низькопрофільний прямокутник, що відображається на панелі завдань:
Бонус для Windows полягає в тому, що мій ДБЖ розпізнається і відображається в області лотка, тому не потребує додаткової конфігурації, тоді як у Linux ГОРЕХ там є проблеми з водіями.
Багатьом не сподобався systemd, коли він з'явився у ядрі Linux .. У Windows я замість цього почав його пропускати ... Служби Windows насправді не є чимось орієнтованим на користувачів як systemd. Windows має Планувальник завдань мати справу з речами, які схожіone-shot
unit, але знову ж таки його інтерфейс (або його відсутність) є жахливим. На щастя, нам не потрібні власні демони у вікнах, оскільки більшість програм для Windows, які ми використовуємо, є просто запускати при запуску свого роду логіка і не потребує більш просунутих конфігурацій. Насправді, крім сміття інструментів ( зітхати ) для того, щоб Windows працювала як сучасне середовище, тоді браузером користуються лише інші рідні програми Windows firefox ) оскільки прискорення графічного процесора браузера погане у WSL (ну навіть у рідній Linux ...) та у програвачі відео ( mpv ) .. і ігри звичайно ...
Мені не подобається шоколадний оскільки це вимагає привілеїв адміністратора, я завжди спочатку шукаю пакети черпаків, оскільки вони встановлені в папці користувача, що є більш зручним і послідовним і спрощує резервне копіювання.
Мене спонукали перейти до вікон із нещодавніх WSLg оновлення. Для чого потрібні драйвери mesa, скомпільовані зd3d12
підтримка бекенда дляopengl
. Windows пропонує рівень попереднього перегляду спільноти ubuntu, але я вибрав це arch linux оскільки вже існував пакет AUR для mesa з d3d12 . Оскільки WSL наразі не підтримує systemd, я закінчив використання керівник керувати кількома службами. Щоб переконатися, що супервізор активний, у профілі оболонки перевіряється файл блокування, який слід створитиtmpfs
якщо керівник був раніше запущений.
Підтримує лише WSLext4
файлові системи, щоб використовувати інші файлові системи, вам потрібно змонтувати розділ (або диск) безпосередньо всередині віртуальної машини WSL. Однак їх потрібно встановлювати вручну як адміністраторз вікон. Для автоматизації цього ми можемо використовувати планувальник завдань, який дозволяє обійти запит UAC, виконуючи завдання з найвищою перевагою . Ми можемо запустити wsl--mount
команду для монтування бажаних дисків/розділів, а потім запустити монтування файлової системи всередині linux. Тому що мій/home/
проживає в змонтованомуbtrfs
файлову систему, я повинен монтувати її автоматично, тому ми використовуємо/etc/fstab
для відображення нашого розділу (за допомогоюLABEL
) до/home
. Тому що ми використовуємо nix зnix-env
нам потрібно прив'язати кріплення нашого магазину Nix до/nix
при кожному запуску wsl і тому/tmp
не ввімкненоtmpfs
ми повинні створити накладне кріплення, яке монтуєтьсяtmpfs
над існуючими/tmp
для збереження важливих файлів, зокрема файлів X11, необхідних для розмови з сервером X.
Ці кріплення виконуються за допомогою сценарію, який слід запустити після ми встановили диск всередині Linux. Нам потрібне завдання, яке буде виконуватися після завершення завдання монтування, і оскільки WSL використовує різні віртуальні машини для різних користувачів Windows, сценарій потрібно запускати НЕ з найвищими правами (інакше він монтується на віртуальну машину адміністратора).
Щоб забезпечити роботу WSLg, ми повинні переконатися, що XDG RUNTIME DIR встановлено, оскільки він відрізняється і розташований (за замовчуванням) у/mnt/wlsg/runtime-dir
. Ось як виглядають вікна під Wayland, ви можете побачити, що оскільки прикраси вікон Wayland можуть бути намальовані або композитором, або додатком, вони зберігають конфігурацію вашого тему GTK/QT, тож ви отримаєте рідне вікно з темою Linux всередині оболонки Windows ... що спочатку трохи дезорієнтує.
У Linux я використовував кошеня , оскільки це був один з новіших емуляторів терміналів з прискоренням графічного процесора[2]і дещо стабільний режим демона, який дозволяє декілька вікон з одним і тим самим екземпляром. Однак у вікнах я поцікавився кількома терміналами на основі Windows, такими як Windows Terminal, плавний термінал, wsltty, conemu, але зрештою я перейшов на wezterm . Незважаючи на те, що він є останнім терміналом, він має всі функції, які ви хотіли б отримати від емулятора терміналу:
вкладки та панелі, для яких вам не потрібен tmux
мультиплексування (віддалений режим без голови), таке, що вам не потрібен tmux
режим текстового копіювання зі зв’язками клавіш vi, таким що вам не потрібен tmux
швидкий вибір, режим підказки для швидкого вибору текстових об’єктів із прокрутки назад
команди за замовчуванням для нових вкладок
Дуже хороша настройка карт клавіш, крім того, що ви не можете використовувати вліво/вправо Shift/Ctrl/Alt як різні модифікатори.
У Windows я також дещо змінив свій робочий процес таким чином, що мені не потрібен термінал з демоновим режимом, який підтримує кілька окремих вікон, за допомогою випадаючого терміналу. Для виготовлення Везтерм спадати вниз після того, як я спробував багато випадаючих сценаріїв AHK, врешті-решт я знайшов один це працювало досить добре. Однак кращою альтернативою буде windows-термінал-землетрус, але у мене були проблеми з неправильною поведінкою віртуальних робочих столів, якими керує dexpot, тоді як консоль mitty-quake, здається, сумісна з віртуальними робочими столами dexpot. Швидше за все, коли покращиться вбудований віртуальний робочий стіл Windows, я перейду на windows-terminal-quake. WezTerm також є кроссплатформенним, що означає, що я можу продовжувати використовувати його з рідною установкою Linux. Це справді вдалий результат для цього перемикача Windows+WSL, оскільки Кітті ще не підтримує Windows та інші альтернативні варіанти терміналів. Я не міг змиритися.
[1] | AutoHotKey |
[2] | чому знову мені потрібно прискорення GPU в терміналі? |