Quản Lý Session
Tạo & Liệt Kê Session
screen # new unnamed session screen -S work # new session named "work" screen -ls # list all sessions screen -list # same as -ls
Lệnh Session
screen -S nameBắt đầu session mới có tên
screen -r nameKết nối lại session đã tách
screen -x nameGắn vào session đang dùng (chia sẻ)
screen -d nameTách session từ xa
screen -d -r nameTách ở nơi khác, kết nối lại ở đây
screen -D -RRBuộc tách và kết nối lại (mạnh)
screen -lsLiệt kê tất cả session kèm PID
screen -wipeDọn dẹp session đã chết
Cửa Sổ
Cơ Bản về Cửa Sổ
Ctrl-a cTạo cửa sổ mới
Ctrl-a nCửa sổ tiếp theo
Ctrl-a pCửa sổ trước đó
Ctrl-a 0-9Chuyển sang cửa sổ theo số
Ctrl-a "Liệt kê tất cả cửa sổ (tương tác)
Ctrl-a 'Chuyển sang cửa sổ theo tên/số
Ctrl-a AĐổi tên cửa sổ hiện tại
Ctrl-a kĐóng cửa sổ hiện tại
Quản Lý Cửa Sổ
Ctrl-a wHiển thị danh sách cửa sổ trên thanh trạng thái
Ctrl-a Ctrl-aChuyển đổi giữa hai cửa sổ gần nhất
Ctrl-a NHiển thị số và tên cửa sổ
exit / Ctrl-dĐóng cửa sổ (thoát shell)
Chia Đôi & Vùng
Lệnh Chia Đôi
Ctrl-a SChia ngang (trên/dưới)
Ctrl-a |Chia dọc (trái/phải)
Ctrl-a TabChuyển focus đến vùng tiếp theo
Ctrl-a XĐóng vùng hiện tại
Ctrl-a QĐóng tất cả vùng trừ vùng hiện tại
Quy Trình Làm Việc với Vùng
Ctrl-a S # split horizontal Ctrl-a Tab # move to new region Ctrl-a c # create window in region Ctrl-a :resize 20 # set region to 20 lines
Chế Độ Sao Chép
Cuộn Lại & Sao Chép
Ctrl-a [Vào chế độ sao chép/cuộn lại
SpaceBắt đầu/kết thúc chọn (trong chế độ sao chép)
EnterSao chép vùng chọn và thoát chế độ sao chép
Ctrl-a ]Dán văn bản đã sao chép
h/j/k/lDi chuyển con trỏ (phím vi trong chế độ sao chép)
Ctrl-u / Ctrl-dCuộn lên/xuống nửa trang
/ or ?Tìm kiếm tiến/lùi
EscThoát chế độ sao chép
Quy Trình Sao Chép
Ctrl-a [ # enter copy mode Space # mark start (navigate first) Space # mark end + copy (navigate first) Ctrl-a ] # paste into current window
Tách & Kết Nối Lại
Tách
Ctrl-a dTách session hiện tại
Ctrl-a D DTách và đăng xuất
Ctrl-a zTạm dừng screen (như Ctrl-Z)
screen -d PIDTách session từ xa theo PID
Kết Nối Lại
screen -r # reattach (if only one session) screen -r work # reattach by name screen -r 12345 # reattach by PID screen -d -r work # steal session from other terminal
Quy Trình Làm Việc Liên Tục
# Start long-running task, detach, reconnect later screen -S build make -j4 all # start build Ctrl-a d # detach, go home screen -r build # reattach later
Chia Sẻ
Chế Độ Nhiều Người Dùng
# Host enables multiuser Ctrl-a :multiuser on Ctrl-a :acladd alice # grant access to user alice # Alice attaches screen -x hostuser/sessionname
Kiểm Soát Truy Cập
:multiuser onBật chế độ nhiều người dùng
:acladd userCấp quyền truy cập đầy đủ cho người dùng
:aclchg user -w '#'Đặt người dùng chỉ đọc (tất cả cửa sổ)
:acldel userXóa quyền truy cập của người dùng
screen -x user/sessGắn vào session chia sẻ
Cấu Hình
Thiết Yếu trong ~/.screenrc
startup_message off # skip splash screen defscrollback 10000 # scrollback buffer lines hardstatus alwayslastline hardstatus string '%{gk}%H %{wk}%?%-Lw%?%{bw}%n*%f %t%{wk}%?%+Lw%?' shell -$SHELL # use login shell
Cài Đặt Hữu Ích
startup_message offẨn thông báo khởi động
defscrollback NĐặt buffer cuộn (mặc định 100)
escape ^BbĐổi phím prefix thành Ctrl-b
shelltitle '$ |bash'Tự đặt tiêu đề cửa sổ
caption always '%n %t'Luôn hiển thị caption kèm thông tin cửa sổ
autodetach onTự tách khi mất kết nối (mặc định bật)
vbell onDùng chuông hình ảnh thay chuông âm thanh
Mẫu Phổ Biến
Thiết Lập Phát Triển
# Auto-create windows in .screenrc screen -t editor 0 vim screen -t server 1 python -m http.server screen -t shell 2 bash select 0 # start on editor window
Ghi Log & Giám Sát
Ctrl-a H # toggle logging to screenlog.N Ctrl-a M # monitor window for activity Ctrl-a _ # monitor window for silence
Tham Khảo Nhanh
Ctrl-a ?Hiển thị tất cả phím tắt
Ctrl-a :helpTrợ giúp có sẵn
Ctrl-a :source fileNạp file cấu hình
Ctrl-a :screen cmdChạy lệnh trong cửa sổ mới
Ctrl-a :quitĐóng tất cả cửa sổ và thoát session