1 điểm bởi GN⁺ 2024-10-15 | 1 bình luận | Chia sẻ qua WhatsApp

clipscreen

clipscreen là một ứng dụng đơn giản tạo ra một màn hình ảo để phản chiếu một phần của màn hình. Hình chữ nhật màu xanh lá làm nổi bật vùng đã chỉ định.

  • Tính hữu ích: Khi dùng các công cụ chia sẻ màn hình như Google Meet, Microsoft Teams, Jitsi Meet, v.v., bạn có thể chia sẻ màn hình ảo thay vì toàn bộ màn hình. Chỉ cần di chuyển cửa sổ muốn chia sẻ vào trong viền xanh, không cần chia sẻ từng cửa sổ riêng lẻ rồi chuyển đổi qua lại.

Biên dịch

  • Các thành phần cần được cài trên hệ thống:

    • thư viện phát triển X11
    • thư viện đồ họa Cairo
    • trình biên dịch C++ (ví dụ: g++)
  • Ví dụ cài các thư viện cần thiết trên Ubuntu 24.04:

    • apt-get install libx11-dev xserver-xorg-dev xorg-dev libcairo2-dev g++
  • Lệnh biên dịch ứng dụng:

    • make
  • Ứng dụng này mới chỉ được kiểm thử trên Linux và xorg, và rất có thể sẽ không hoạt động trên các hệ thống khác.

Cách dùng

  • Lệnh chạy tệp thực thi đã biên dịch:

    • ./clipscreen <width>x<height>+<x>+<y>
    • <width>: chiều rộng của lớp phủ và màn hình ảo
    • <height>: chiều cao của lớp phủ và màn hình ảo
    • <x>: tọa độ x của góc trên bên trái của lớp phủ và màn hình ảo
    • <y>: tọa độ y của góc trên bên trái của lớp phủ và màn hình ảo
  • Lệnh ví dụ:

    • ./clipscreen 800x600+100+100: tạo một cửa sổ lớp phủ 800x600 bắt đầu từ vị trí (100,100) trên màn hình
  • Chọn vùng theo cách tương tác:

    • ./clipscreen $(hacksaw)
    • ./clipscreen $(slop)

Thoát

  • Nhấn Ctrl+C trong terminal đang chạy ứng dụng để thoát

Liên kết

  • hacksaw
  • slop

Giấy phép

  • Được cấp quyền sử dụng miễn phí bản sao của phần mềm và các tài liệu liên quan.
  • Phần mềm được cung cấp "nguyên trạng", không có bảo đảm về khả năng thương mại, sự phù hợp cho mục đích cụ thể hay không vi phạm.

Tóm tắt của GN⁺

clipscreen là một công cụ hữu ích cho phép chia sẻ một vùng cụ thể của màn hình dưới dạng màn hình ảo. Điều này giúp giảm bớt việc chuyển đổi cửa sổ không cần thiết khi chia sẻ màn hình, mang lại sự tiện lợi. Tuy nhiên, nó chỉ hoạt động trên Linux và xorg, nên có hạn chế là không thể dùng trên các hệ điều hành khác. Các công cụ cung cấp chức năng tương tự gồm có phần mềm quay/chụp màn hình như OBS Studio. Bài viết này có thể hữu ích với những người dùng muốn chia sẻ màn hình hiệu quả hơn.

1 bình luận

 
GN⁺ 2024-10-15
Bình luận trên Hacker News
  • Đang dùng màn hình siêu rộng 49 inch, và vì việc chia sẻ màn hình trên Google Meet khá bất tiện nên đã tự phát triển một công cụ nhỏ cho phép chia sẻ một vùng cụ thể trên màn hình

    • Công cụ này dùng phần mở rộng xrandr để phản chiếu một vùng vào màn hình ảo rồi đem vùng đó đi chia sẻ
    • Có thể xem chi tiết trong bài viết blog
  • Công cụ này rất đơn giản, chưa đến 100 dòng C++ nếu không tính phần chú thích

    • Đây cũng là một trong những lý do họ thích X11 hơn Wayland
  • Trên KDE 6.1 khi dùng Wayland và Chromium, nếu bấm chia sẻ màn hình trong Jitsi thì sẽ có tùy chọn chia sẻ "toàn màn hình"

    • Sau đó sẽ hiện ra các mục "toàn bộ không gian làm việc", "đầu ra ảo mới", "vùng hình chữ nhật" và danh sách màn hình
    • "Vùng hình chữ nhật" cho phép chia sẻ phần đã chọn của màn hình, còn "đầu ra ảo mới" sẽ tạo ngay một màn hình ảo và có thể thấy trong "Cài đặt hiển thị" của KDE
  • Có thể dùng xzoom để làm việc tương tự, kèm cả tính năng phóng to

    • Có ý kiến thắc mắc không rõ công cụ này có thêm lợi ích gì nữa không
  • Trong Zoom có thể chia sẻ nhiều màn hình/cửa sổ, chỉ cần giữ phím SHFT khi nhấp vào các cửa sổ muốn chia sẻ

  • Có người hỏi liệu có thể dùng OBS để làm việc này trên mọi nền tảng, bao gồm cả Wayland, hay không

    • Có ý kiến cho rằng nhiều người либо không biết rõ về OBS, либо đang đánh giá quá cao khả năng của nó
  • Có ý kiến nói đây là lý do họ chọn Zoom trên Linux, và tính năng này thực sự rất tuyệt

  • Có người đặt câu hỏi vì sao các nền tảng họp video hiện nay vẫn chưa đáp ứng tốt tính năng này

    • Đặc biệt khi màn hình lớn đang ngày càng trở nên phổ biến đối với các lập trình viên làm việc với những công cụ như vậy
  • Có ý kiến nói đây là lần đầu họ biết rằng có thể tạo màn hình ảo trong X

  • Có thể dùng xrandr để làm việc này

    • Ví dụ: xrandr --setmonitor screenshare 2560/1x1440/1+0+0 none