Microsoft đang đại tu trình dòng lệnh trên Windows
Một trong những điều trớ trêu của môi trường dòng lệnh trên Windows chính là bản thân cửa sổ dòng lệnh mà chúng ta thường quen gọi là "CMD" lại khá...kỳ lạ.
Tại sao lại nói "kỳ lạ"? Từ thời Windows XP, trong khi các cửa sổ ứng dụng thông thường đều được chuyển sang giao diện mới, với thanh tiêu đồ nổi cùng nút đóng cửa sổ màu đỏ khá dễ thương, thì cửa sổ console (CMD) không hề được như vậy. Nó vẫn sử dụng giao diện cũ với thanh tiêu đề và các viền cửa sổ thông thường. Nguyên nhân của việc này là bởi cửa sổ console hơi có phần "đặc biệt": cửa sổ này được "vẽ" bởi một tiến trình hệ thống đặc biệt, và nếu tiến trình này crash, máy tính sẽ bị màn hình xanh. Do đó để đảm bảo an toàn và hiệu quả, cửa sổ console không được phép sử dụng giao diện.
CMD của Windows 7 không hỗ trợ mã VT, do đó output của các ứng dụng dựa vào mã VT sẽ bị cắt xén bớt. CMD của Windows 10 thì ngược lại, có hỗ trợ mã VT
Trong vài năm trở lại đây, Microsoft đã và đang cải thiện trình console của Windows. Ví dụ, cửa sổ console hiện đã có thể được maximize như các cửa sổ thông thường (trước đó, khi bạn bấm nút maximize của cửa sổ console, nó sẽ dài ra thay vì phóng to ra toàn màn hình). Đặc biệt, cùng với việc tung ra Windows subsystem cho Linux, console trong Windows 10 đã hỗ trợ đến 16 triệu màu và VT, cho phép hiển thị các nội dung output đầy đủ hơn thông thường.
Tuy nhiên, so với các "đồng nghiệp" trên Linux và macOS, trình console của Windows vẫn còn khá nhiều điều cần phải giải quyết. Linux có rất nhiều ứng dụng console, trong số đó có những ứng dụng hỗ trợ tab. Nó còn có các ứng dụng như "screen" và "tmux" cho phép nhiều ứng dụng chia sẻ chung một console. Dù Windows cũng có một số ứng dụng bên thứ 3 cho phép làm điều tương tự (ConEmu chẳng hạn), chúng đều khá hạn chế: về cơ bản, chúng tạo ra một cửa sổ console Windows, sau đó giấu cửa sổ này đi và lấy các ký tự từ cửa sổ đã bị ẩn sao chép sang cửa sổ ứng dụng của mình. Cách làm này rõ ràng chẳng mấy thiết thực, khi mà các ứng dụng dòng lệnh muốn làm những thứ phức tạp (như hiển thị các giao diện toàn màn hình) thường sẽ bị treo ngay lập tức.
Nhưng điều đó sắp thay đổi. Microsoft hiện đang tập trung phát triển một console tốt hơn cho Windows, với hi vọng sẽ mang lại sự dẻo dai và những khả năng mà người dùng Unix đã tận hưởng trong hơn 40 năm qua. Tất nhiên, Microsoft không thay đổi bản thân chương trình dòng lệnh mà là cửa sổ mà ứng dụng này sử dụng: PowerShell, CMD, và Windows subsystem cho Linux - tất cả đều sử dụng chung cơ sở hạ tầng console, và là lý do tại sao cửa sổ của các chương trình này đều trông như nhau, có cùng các tính năng và các hạn chế.
Các hàm API mới được cải tiến sẽ được tích hợp vào các bản Windows 10 Insider mới nhất. Microsoft sẽ công bố hàm API mới trong thời gian ngắn sắp tới, và với sự ra mắt này, Windows cuối cùng sẽ có các trình console đáng tin cậy, hiệu quả, và hỗ trợ tab, với khả năng hiển thị emoji, Unicode và mọi thứ khác mà console hiện nay chưa làm được.
Có thể nói, chúng ta vẫn đang sống với các quyết định được đưa ra từ 30 năm về trước. Windows thực hiện mọi thứ rất khác biệt so với Unix - trong khi phương châm của Unix là "mọi thứ là một tập tin", thì của Windows là "mọi thứ là một chủ thể" - và một vài trong số những quyết định đó đã tạo ra một hệ thống console rất khác biệt mà Windows đang sở hữu ngày nay.
Tham khảo: ArsTechnica
NỔI BẬT TRANG CHỦ
Google: Giải được bài toán 10 triệu tỷ tỷ năm chỉ trong 5 phút, chip lượng tử mới là bằng chứng về đa vũ trụ
Điều đáng ngạc nhiên hơn cả là nhiều người trên cộng đồng mạng thế giới lại đang đồng tình với kết luận của Google.
Gần 2025 rồi mà vẫn dùng USB để lưu công việc thì quả là lỗi thời