Sử dụng màn hình GNU làm đăng nhập shell shell


22

Cách tốt nhất để màn hình tự động chạy khi bạn mở một vỏ mới, cho dù bằng cách đăng nhập, xterm, hoặc bất cứ điều gì khác?

Tôi thấy đề xuất phổ biến nhất là đặt exec screentệp RC hoặc tệp đăng nhập / hồ sơ của shell thông thường của bạn, nhưng ví dụ: tcsh, shell đăng nhập chạy .login cuối cùng, trong khi shell không đăng nhập đọc .cshrc cuối cùng. Nếu tôi đặt exec screen.cshrc, shell đăng nhập sẽ không tạo nguồn tệp .login và nếu tôi đặt nó vào .login, các shell không đăng nhập sẽ không chạy màn hình. Tôi giả định rằng có những vấn đề tương tự với các shell khác.


1
Điều này không trả lời câu hỏi, nhưng nó đáng được đề cập: tmux là một bước tiến mang tính cách mạng từ màn hình và cố gắng gần với bàn phím tương thích với màn hình. Trang này ghi lại cách khởi động nó tự động từ .bashrc.
datashaman

Câu trả lời:


19

Một cách là:

# if $STY is not set...
if [ -z "$STY" ]; then
    exec screen -ARR
fi

Lưu ý rằng điều này được viết cho bash, nhưng cũng nên tương tự csh. Đặt nó để .cshrcđược thực hiện cho tất cả các shell.


Một cách khác: Bạn có thể dễ dàng thiết lập screennhư vỏ đăng nhập của bạn trong /etc/passwdchính nó, và đưa dòng này của bạn ~/.screenrc: (Fix con đường, tất nhiên.)

defshell / bin / csh

Nhưng điều này có thể phá vỡ các chương trình chạy shell đăng nhập được xác định trong /etc/passwdcác lệnh khác nhau.

( Chỉnh sửa: Đừng quên thêm màn hình vào /etc/shells)


1
Trước đây tôi không biết về biến STY và trong khi tìm kiếm trong hướng dẫn sử dụng màn hình, tôi cũng thấy rằng bạn có thể thực thi màn hình có màn hình để chạy các lệnh trong một cửa sổ mới (ví dụ: "màn hình vi" sẽ mở vi trong một cửa sổ mới, không có vỏ kiểm soát). BTW, đối với csh, bạn sẽ đặt nó trong tệp .login chứ không phải .cshrc, bạn không muốn nó chạy cho trình bao "tất cả". Samet Breath áp dụng cho bash, đặt nó vào .profile hoặc .bash_login, không phải trong .bashrc.
haridsv

4

Câu hỏi cũ, nhưng việc tìm kiếm điều tương tự đã đưa tôi đến đây vì vậy đây là câu trả lời cho bất kỳ ai khác tình cờ vào trang này.

Điều tốt nhất tôi tìm thấy cho đến nay là byobu nếu bản phân phối của bạn có nó. Đi kèm với một tùy chọn để chạy khi đăng nhập và kiểm soát nhiều màn hình cùng một lúc.

Bạn có thể tách ra và đăng xuất tại một địa điểm sau đó đăng nhập vào cùng một phiên tại địa điểm khác.

Tôi thấy màn hình là tuyệt vời để sử dụng để chạy các quy trình máy chủ nhưng byobu là tuyệt vời cho những thứ hàng ngày.


-2

Cách sử dụng chsh:

chsh /usr/bin/screen

Cái này đặt shell đăng nhập mặc định trong / etc / passwd. (bạn cũng có thể ở đó)


Sau đó, thật khó để làm bất cứ điều gì với tài khoản của bạn ngoài việc đăng nhập. Ngoài ra, sysadmin của bạn có thể không có màn hình trong / etc / shell. Ngoài ra, xem câu trả lời được chấp nhận.
wfaulk
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.