Show HN: Dùng máy tính bảng cũ làm màn hình phụ
(github.com/alex028502)- Đây là một MVP/POC nhằm dùng máy tính bảng cũ làm màn hình terminal SSH thay vì màn hình phụ dựa trên pixel; cách làm là kết nối từ ứng dụng SSH trên Android vào máy tính rồi chèn phím gõ vào phiên
screen - Cách thiết lập này phù hợp với các trường hợp sử dụng muốn tránh việc gửi pixel tới máy tính bảng khi card đồ họa đã chạm giới hạn hoặc không tìm được adapter màn hình ảo, và khi chỉ cần xem văn bản như tail log
- Luồng cơ bản là mở SSH server trên máy tính, kết nối bằng terminal/SSH client trên máy tính bảng, tạo phiên bằng
DISPLAY=:0 screen -R aux, rồi dùng một chương trình nhập liệu riêng để đưa ký tự vào phiên theo kiểuscreen -S aux -X stuff x - Với thiết lập
DISPLAY=:0, khi chạy các lệnh nhưxdg-open .,emacs &,git gui &trong terminal thì có thể xem kết quả ở phiên GUI chính - Đây là trạng thái MVP/POC với các ràng buộc rõ ràng về bảo mật và khả năng sử dụng
- Phải cấp cho ứng dụng di động quyền truy cập toàn bộ máy tính
- Phải mở SSH server trên máy tính, và cách dùng được đề xuất là chỉ khởi động trên mạng đáng tin cậy rồi tắt đi ở các trường hợp khác
- Có các vấn đề như xử lý đầu vào
C-SPC, cách chạyscreencho từng phím, và khó tìm terminal client trên thiết bị cũ - Cả hai cách đều phụ thuộc vào LAN
- Trong môi trường văn phòng với Kindle Fire, nó hoạt động tốt như một terminal; nhưng trong môi trường gia đình với iPad thì quá chậm để dùng làm màn hình Emacs
- Dán nội dung được thực hiện bằng
Ctrl+Shift+Vđể chèn toàn bộ clipboard vào phiênscreen, còn sao chép thì vẫn chưa được giải quyết - Các hướng tiếp cận được cho là tốt hơn gồm các thành phần của hyper, xterm.js, hiển thị qua trình duyệt, truyền phím qua WebSocket và cấu hình server dựa trên PTY
1 bình luận
Ý kiến trên Hacker News
Trên môi trường desktop GNOME của Linux, có thể dùng máy tính bảng không chỉ cho terminal mà còn làm màn hình phụ: https://www.omgubuntu.co.uk/2022/06/use-ipad-as-second-monit...
Vẫn đang chờ một giải pháp tốt hơn để stream cả game lên “màn hình” máy tính bảng thứ hai như thế này
Rốt cuộc có vẻ khó dùng iPad cũ theo cách này trong thực tế, dù có thể thử tìm một RDP client khác còn hoạt động
Nếu không cần con trỏ thì chạy khá ổn
Đã thử Weylus: https://github.com/H-M-H/Weylus
Chạy qua LAN và có thể điều khiển chuột từ máy tính bảng
Thỉnh thoảng có độ trễ, nhưng có thể chỉnh độ phân giải để dùng ít băng thông hơn; còn độ ổn định thì không chắc
Không dùng thường xuyên
Nếu có laptop hoặc thiết bị dư chạy Windows, SpaceDesk là một ứng dụng miễn phí tốt. Không phải mã nguồn mở: https://www.spacedesk.net/
Đang dùng cùng WSL2 trên máy phát triển Windows và tận dụng laptop cũ làm màn hình ngoài; chạy tốt cả qua Wi-Fi
Có vẻ khá ổn để làm màn hình phụ khi đi du lịch, và ngay cả ở 60fps cùng thiết lập cao cũng hầu như không cảm thấy độ trễ
Trên iPad vẫn còn được hỗ trợ, thỉnh thoảng tôi dùng tính năng màn hình phụ iPad tích hợp của macOS và nó chạy khá tốt
Giá mà đầu nối cáp ribbon LVDS của các thiết bị này được chuẩn hóa hơn thì hay hơn
Khi đó chỉ cần mua adapter HDMI/DisplayPort là dùng ngay được; thực tế có những adapter như vậy, nhưng theo tôi biết thì tiêu chuẩn cáp ribbon LVDS không hề được thống nhất thành một chuẩn duy nhất, hay thậm chí gần như vậy
Cảm thấy
systemctlkhó gõNếu thường xuyên khởi động/dừng service, nên dùng alias kiểu
alias sc='sudo systemctl'Nó cũng khớp với
sc, tiện ích “service control” của các phiên bản Windows NT đời sau, và sẽ hoạt động trong bash/fishKhi phát triển service, bọc
stop,status,startbằng các hàm nhưsce,sci,scscó thể giảm phiền phức phải đổi tiểu lệnhst*và đối số thứ hai mỗi lầnjournalctlcòn tệ hơn để gõTương tự, nếu muốn dùng điện thoại cũ làm giải pháp thay thế Stream Deck, có thể dùng TouchPortal: https://www.touch-portal.com/
Không miễn phí nhưng không đắt, và hoạt động tốt đến ngạc nhiên
Theo video tôi đang nghe, hiện client chỉ có cho Linux, còn host hỗ trợ Windows và Linux
Tôi đã dùng thử một chút Surface Pro chạy Linux làm client và Windows làm host; thứ đang cản trở hiện nay là thiếu plugin
Tôi dùng Stream Deck để quản lý phiên chơi game, nhưng để xử lý Steam, Discord, soundboard và giọng nói của Voicemod, đôi khi là OBS, khởi chạy game, v.v., thì ở trạng thái hiện tại có lẽ chỉ quản lý được OBS và những thứ đã cấu hình phím tắt
Máy tính bảng lẽ ra nên có đầu vào HDMI/DisplayPort để có thể dùng trực tiếp làm màn hình
Màn hình cũng xuất hiện như một thiết bị nữa có thể đọc và ghi byte, và mọi thiết bị đều có giao diện tự mô tả dựa trên HTTP/HATEOAS có thể truy vấn
HDMI/DisplayPort hay USB A/B/C/.../Z cũng dùng giao thức như gigabit Ethernet hoặc Thunderbolt, và băng thông sẽ quyết định tốc độ khung hình tối đa ở độ phân giải bất kỳ
Khi đó có thể truy vấn metadata giao diện thiết bị để gửi/nhận mảng byte với màn hình, máy in, thiết bị lưu trữ, theo một cấu trúc chỉ khác nhau ở phần đầu header
Với camera và scanner, đáng lẽ cũng có thể tải trực tiếp file ảnh và video như thư mục tài liệu trên web server mà không cần driver của nhà sản xuất; không có lý do kỹ thuật nào khiến việc đó bất khả thi, và tôi cho rằng Microsoft cùng Apple đã liên tục ngăn cản sự khái quát hóa như vậy
Các tiêu chuẩn web cũng trôi theo kiểu thiết kế bằng ủy ban, làm mất hy vọng tích hợp những thứ này; smartphone và tablet trông như cực điểm của tư duy tiêu dùng độc quyền đã bị hàng hóa hóa
Hầu như trình xem webcam nào cũng xem được, và trên iPad còn có ứng dụng chuyên dụng như https://orion.tube/
Tôi biết Android cũng có lựa chọn, nhưng không có máy tính bảng Android hiện đại để thử
Trước đây đã dùng Duet để giải quyết nhu cầu này
Nó cho phép mở rộng màn hình laptop sang màn hình iPad, nên chạy ổn: https://www.duetdisplay.com/
Ý tưởng hay
Tôi đã làm một thứ tương tự bằng bash, awk, xev, xdotool thay vì chương trình riêng
Trong
screenthì dùng cắt/dán củascreen, còn phần còn lại có thể dùng bộ đệm sao chép củascreenvàxclipboard