Danh sách các công cụ giúp Windows giống Linux hơn
Kể từ khi tôi chuyển sang windows 10 với WSL Tôi nghĩ rằng tôi sẽ lập một danh sách các phần mềm mà tôi phải sử dụng để đưa các cửa sổ đến gần với quy trình làm việc linux thông thường của tôi. Hãy làm rõ rằng giao diện người dùng Windows tệ hại, nó bị mắc kẹt trong90s và mọi thứ phải được nhấp và kéo bằng con trỏ chuột của bạn. Tôi không biết nó có phải là một văn hoá điều (các nhà phát triển windows phải rất thích chuột), hoặc nhân khẩu học mục tiêu ("nhấp vào thứ đó!" rất dễ giải thích), hoặc vì thực tiễn tốt nhất về bảo mật (nếu chúng tôi cung cấp quá nhiều quyền kiểm soát cho người dùng, phần mềm độc hại sẽ khai thác nó) hoặc Windows Shell được tạo thành từ một đống nợ công nghệ khiến việc bổ sung chức năng cho người dùng nâng cao trở nên khó khăn hơn. Thực tế là những thứ đơn giản trong Linux cần các giải pháp phức tạp trong Windows.
Trong linux, mọi trình quản lý windows đều có một số dạng desktop ảo, gần đây windows đã xây dựng các desktop ảo khá phổ biến với W10. Vấn đề là tại thời điểm viết bài, bạn chỉ có thể xoay vòng trái và phải bằng các phím nóng, và không có phím nóng nào để chuyển đến màn hình X. Có điều này thư viện vd nhưng tôi không tìm thấy phần mềm sử dụng nó, thay vào đó chỉ có AHK[1] các tập lệnh có triển khai kém như "vòng lặp cho đến khi chúng tôi ở đúng VD".
Việc thiếu các phím tắt thích hợp cho các màn hình ảo tích hợp sẵn windows khiến tôi buộc phải sử dụng phần mềm của bên thứ 3, trong đó có rất nhiều phần mềm, tôi đã chọn dexpot vì nó làm được tất cả những thứ tôi cần và hơn thế nữa (tôi sẽ hạnh phúc vớigo to X
vàmove window to X
các phím tắt). Vấn đề duy nhất là dexpot không thể liên kết các khóa đã được ràng buộc ... phần nào AHK có thể ghi đè các khóa được sử dụng bởi các ứng dụng khác, trong khi dexpot thì không, tôi cho rằng đó là vì nó dựa trên một API cửa sổ khác (hoặc [dll]). Cách giải quyết là sửa lại các phím tắt mà tôi muốn (ví dụ:Win+1
) với một phím tắt miễn phí có thể được đặt trên dexpot (ví dụ:Win+Shift+F1
)
Powertoys cho phép ánh xạ các phím và phím tắt, để tôi có thể ánh xạ CapsLock-> LeftControl và RightControl-> LeftControl. Và các phím tắt nhưWin+hjkl
mũi tên. Quá tệWin+l
là một phím tắt mặc định của windows để khóa màn hình và không thể ánh xạ lại ... khóa đăng ký ghi đè các phím tắt và sửa lỗi này ... cho đến khi bạn cập nhật windows ... vì vậy bạn phải áp dụng bản sửa lỗi ở mỗi lần khởi động!
Thay vào đó, trình khởi chạy ứng dụng do powertoys cung cấp khá tính năng, không sử dụng nhiều bộ nhớ hơn KRunner và nhanh và nhạy. Khiếu nại duy nhất là đôi khi nó mất tiêu điểm, nhưng đây rất có thể là một vấn đề với Windows bị bệnh (như trong điều khiển sai lầm) đối với cửa sổ được cho là sẽ được lấy nét tại bất kỳ thời điểm nào.
Tôi đã chuyển từ sway sang KDE trên Linux, vì vậy tôi không phải là người yêu thích cửa sổ lát gạch. Powertoys có FancyZones là một cải tiến nhỏ so với các cửa sổ cơ bản Chụp nhanh mà cửa sổ cung cấp, vì nó mang lại cho bạn khoảng trống và bố cục. Tuy nhiên, vẫn còn thiếu điều quan trọng nhất làm cho việc ốp lát trở nên hữu ích, đó là quy tắc để áp dụng cho các cửa sổ phù hợp, nhưng điều này cũng sẽ cần hỗ trợ cho các máy tính để bàn ảo ... và chúng tôi đã đề cập đến trạng thái hiện tại của chúng. Trong So sánh KWin cho phép bạn so sánh các cửa sổ với các định nghĩa rất phức tạp. FancyZones giải quyết vấn đề quy tắc bằng cách duy trì vị trí cửa sổ qua các phiên, nhưng tôi chưa điều tra xem điều này hoạt động tốt như thế nào với các máy tính để bàn ảo khác nhau.
Windows chỉ có thể được kéo từ thanh tiêu đề và phần bổ sung tính thiết thực cần được sử dụng để di chuyển chúng bằng tổ hợp phím tắt.
Với KDE, bạn có các widget plasma để hiển thị thông tin hệ thống, mặc dù các widget plasma có xu hướng tiêu tốn nhiều bộ nhớ nên tôi đã không sử dụng chúng nhiều như vậy. Với Windows, không có tiện ích tích hợp nào cho việc này, sau khi thử một vài tiện ích, tôi đã giải quyết Giám sát lưu lượng cung cấp mạng, cpu, bộ nhớ và gần đây đã được thêm GPU và nhiệt độ. Kết quả là một hình chữ nhật có cấu hình thấp đẹp mắt được hiển thị trong thanh tác vụ:
Điểm bổ sung cho Windows là UPS của tôi được nhận dạng và được hiển thị trong khu vực khay, vì vậy không cần cấu hình bổ sung, trong khi trong linux HẠT có vấn đề về trình điều khiển.
Nhiều người không thích systemd khi nó xuất hiện trong nhân linux..Với Windows, tôi bắt đầu thiếu nó..Windows Services không thực sự là một cái gì đó hướng tới người dùng như systemd. Windows có Bảng kế hoạch để đối phó với những thứ trông giống nhưone-shot
các tập tin đơn vị, nhưng một lần nữa giao diện của nó (hoặc thiếu nó) thật đáng sợ. May mắn thay, chúng tôi không thực sự cần các daemon tùy chỉnh trong windows, vì hầu hết các ứng dụng windows mà chúng tôi sử dụng được cho là chạy khi khởi động logic và không cần các cấu hình nâng cao hơn. Trên thực tế, ngoài lứa công cụ ( thở dài ) để làm cho các cửa sổ hoạt động như một môi trường hiện đại, khi đó chỉ các ứng dụng cửa sổ gốc khác đang được sử dụng mới là trình duyệt ( firefox ) vì khả năng tăng tốc GPU của trình duyệt không tốt trong WSL (thậm chí ngay cả trên Linux gốc ...) và trình phát video ( mpv ) .. và tất nhiên ...
Tôi không thích sô cô la vì nó yêu cầu đặc quyền của quản trị viên, tôi luôn tìm kiếm các gói tin sốt dẻo đầu tiên vì chúng được cài đặt trong thư mục người dùng, điều này thuận tiện hơn và nhất quán hơn, đồng thời đơn giản hóa việc sao lưu.
Tôi đã được khuyến khích để chuyển sang các cửa sổ từ gần đây WSLg cập nhật. Trình điều khiển mesa bắt buộc nào được biên dịch vớid3d12
hỗ trợ phụ trợ choopengl
. Windows cung cấp lớp ubuntu xem trước cộng đồng, nhưng tôi đã chọn Arch linux vì đã có gói AUR cho mesa với d3d12 . Vì WSL hiện không hỗ trợ systemd, tôi đã kết thúc bằng cách sử dụng người giám sát để quản lý một vài dịch vụ. Để đảm bảo người giám sát đang hoạt động, hãy kiểm tra hồ sơ trình bao cho tệp khóa sẽ được tạo trêntmpfs
nếu người giám sát đã được bắt đầu trước đó.
WSL chỉ hỗ trợext4
hệ thống tệp, để sử dụng các hệ thống tệp khác, bạn phải gắn phân vùng (hoặc đĩa) trực tiếp bên trong WSL VM. Tuy nhiên chúng phải được gắn bằng tay với tư cách là quản trị viêntừ các cửa sổ. Để tự động hóa việc này, chúng ta có thể sử dụng bộ lập lịch tác vụ cho phép bỏ qua lời nhắc UAC bằng cách chạy các tác vụ với giá trị tư nhân cao nhất . Chúng ta có thể chạy một wsl--mount
lệnh mount các đĩa / phân vùng mong muốn của chúng ta và sau đó chạy mount hệ thống tập tin từ bên trong linux. Bởi vì của tôi/home/
cư trú trong một gắn kếtbtrfs
hệ thống tệp tôi phải tự động gắn kết nó, vì vậy chúng tôi sử dụng/etc/fstab
để ánh xạ phân vùng của chúng tôi (bằng cáchLABEL
) đến/home
. Bởi vì chúng tôi sử dụng nix vớinix-env
chúng tôi cần liên kết mount cửa hàng nix của chúng tôi với/nix
trên mọi lần khởi động wsl và bởi vì/tmp
không có trêntmpfs
chúng ta phải tạo một lớp phủ gắn kết để gắn kếttmpfs
trên hiện tại/tmp
thư mục, để lưu giữ các tệp quan trọng, đặc biệt là các tệp X11, cần thiết để giao tiếp với máy chủ X.
Các gắn kết này được thực thi với một tập lệnh, tập lệnh này sẽ được chạy sau chúng tôi đã gắn đĩa bên trong linux. Chúng tôi cần một tác vụ chạy sau khi tác vụ gắn kết hoàn thành và vì WSL sử dụng các máy ảo khác nhau cho những người dùng cửa sổ khác nhau nên tập lệnh phải được chạy KHÔNG với đặc quyền cao nhất (nếu không thì nó sẽ gắn trên máy ảo Quản trị viên).
Để đảm bảo WSLg hoạt động, chúng ta phải đảm bảo XDG RUNTIME DIR được đặt, vì nó khác và nằm (theo mặc định) tại/mnt/wlsg/runtime-dir
. Đây là cách các cửa sổ dưới wayland trông, bạn có thể thấy rằng vì với các trang trí cửa sổ wayland có thể được vẽ bởi trình soạn thảo hoặc ứng dụng, chúng giữ cấu hình của chủ đề GTK / QT của bạn, vì vậy bạn sẽ có một cửa sổ nhìn theo chủ đề linux gốc bên trong vỏ Windows ... lúc đầu hơi mất phương hướng.
Trên linux tôi đang sử dụng mèo con , vì nó là một trong những trình giả lập đầu cuối mới hơn với khả năng tăng tốc GPU[2]và một chế độ daemon hơi ổn định cho phép nhiều cửa sổ với cùng một phiên bản. Tuy nhiên trên windows, tôi đã thử với một số thiết bị đầu cuối dựa trên cửa sổ như Windows Terminal, terminal thông thạo, wsltty, conemu, nhưng cuối cùng tôi đã chuyển sang wezterm . Mặc dù là một thiết bị đầu cuối gần đây hơn, nó có tất cả các tính năng bạn muốn từ một trình mô phỏng thiết bị đầu cuối:
tab và ngăn, do đó bạn không cần tmux
ghép kênh (chế độ không đầu từ xa), do đó bạn không cần tmux
chế độ sao chép văn bản với vi keybindings, do đó bạn không cần tmux
chọn nhanh, một chế độ gợi ý để chọn nhanh các đối tượng văn bản từ cuộn lùi
lệnh mặc định cho các tab mới
Tùy chỉnh bản đồ phím rất tốt, ngoại trừ thực tế là bạn không thể sử dụng Shift Trái / Phải / Ctrl / Alt làm các công cụ sửa đổi khác nhau.
Với Windows, tôi cũng đã sửa đổi quy trình làm việc của mình một chút để tôi không cần thiết bị đầu cuối với chế độ daemon hỗ trợ nhiều cửa sổ riêng biệt, bằng cách sử dụng thiết bị đầu cuối thả xuống. Để làm cho wezterm thả xuống sau khi thử nhiều tập lệnh AHK thả xuống, cuối cùng tôi đã tìm thấy một hoạt động khá tốt. Tuy nhiên, một giải pháp thay thế tốt hơn sẽ là windows-terminal-động đất, nhưng tôi đã gặp vấn đề với việc nó hoạt động sai với các máy tính để bàn ảo do dexpot quản lý, trong khi mitty-quake-console dường như tương thích với các máy tính để bàn ảo dexpot. Nhiều khả năng khi trải nghiệm máy tính để bàn ảo Windows tích hợp sẵn được cải thiện, tôi sẽ chuyển sang windows-terminal-quake. WezTerm cũng là nền tảng đa nền tảng, có nghĩa là, tôi có thể tiếp tục sử dụng nó khi cài đặt Linux gốc. Đó là một phát hiện thực sự may mắn cho bộ chuyển Windows + WSL này, vì Kitty chưa hỗ trợ Windows và các lựa chọn thay thế thiết bị đầu cuối khác, có một số khó chịu khá lớn. Tôi không thể đi đến điều khoản với.
[1] | AutoHotKey |
[2] | tại sao tôi lại cần tăng tốc gpu trong thiết bị đầu cuối? |