ฉันเข้าสู่ระบบผ่าน ssh และคำสั่งแรกอยู่เสมอหน้าจอ ฉันสามารถเชื่อมต่อกับบทเรียนเดียวกันหรือสร้างใหม่ได้หรือไม่ถ้าไม่มีอยู่?


0

โดยทั่วไปสิ่งที่ฉันต้องการทำคืออะไรเช่นนี้:

screen -session-name = mydefaultscreen

และหาก 'เซสชันชื่อ' ของ mydefaultscreen ไม่มีอยู่จริงก็จะสร้างขึ้นมาใหม่ หากมันมีอยู่แล้วมันจะทำการแนบกลับเข้าไปใหม่

ฉันรู้ว่าฉันสามารถทำหน้าจอ -x $ somenumberhere แต่ฉันต้องการมันโดยอัตโนมัติทั้งหมด

ขอบคุณ

คำตอบ:


0

คุณใช้เครื่องมือ GNU ในระบบ windows หรือเรากำลังพูดถึงระบบ linux อยู่หรือไม่? ฉันจะถือว่าในภายหลัง แต่แจ้งให้เราทราบหากฉันเข้าใจผิด

ดู man page สำหรับข้อเสนอหน้าจอตัวเลือก "เชื่อมต่อใหม่" หากหน่วยความจำของฉันทำหน้าที่ "-r" และ "-R" เป็นสิ่งที่คุณจะมองหาและมีความแตกต่างระหว่างพวกเขา ฉันจะต้องการรายละเอียดเพิ่มเติมเกี่ยวกับสิ่งที่คุณกำลังประสบอยู่เพื่ออธิบายวิธีการ "อัตโนมัติ" โดยสมบูรณ์ในสิ่งที่คุณถาม แต่ในระยะสั้นอาจต้องใช้สคริปต์ขนาดเล็กเพื่อให้บรรลุผล นั่นจะเป็นกรณีที่ซับซ้อนมากขึ้น หากคุณมีสถานการณ์การใช้งานและข้อกำหนดที่ง่ายขึ้นคุณสามารถใส่บรรทัดหนึ่งหรือสองลงในเชลล์เบ็ดที่เหมาะสม (เช่นหากคุณใช้ bash เชลล์จากนั้น. bash_profile, .bashrc, ... จะดำเนินการ / ประเมินเนื้อหาของพวกเขา ในสถานการณ์)

คุณถูกเลิกเรียนหรือเลิกเซสชันบ่อยไหม? ถ้าเป็นเช่นนั้นอาจมีตัวเลือก SSH บางตัวที่จำเป็นต้องปรับแต่งเช่นกัน สิ่งที่คุณถามคือสามารถทำได้ฉันเพียงต้องการความเข้าใจที่ดีขึ้นของพารามิเตอร์ที่โซลูชันต้องได้รับการออกแบบภายใต้


0

ใน.bashrcไฟล์ของคุณคุณสามารถตรวจสอบว่า$SSH_CONNECTION(ซึ่งอธิบายว่าผู้ใช้ปัจจุบันเข้าสู่ระบบผ่าน SSH) มีการตั้งค่าหรือTERMไม่"screen"(ซึ่งเป็นกรณีถ้าคุณเรียกใช้จากภายในหน้าจอ) หรือตรวจสอบค่าของ$SHLVL(ซึ่งอธิบายถึงระดับของ เชลล์ที่ซ้อนกัน)

สิ่งต่อไปนี้ใน. bashrc ของคุณควรทำเพื่อเริ่มหน้าจอโดยอัตโนมัติหากคุณเข้าสู่ระบบผ่าน SSH:

if [ -n "${SSH_CONNECTION}" -a ${SHLVL} -eq 1 ]; then
    screen -RD
fi

ควรแนบคุณเข้ากับเซสชันหน้าจอล่าสุดอีกครั้งหรือสร้างใหม่หากจำเป็น โปรดทราบว่าผู้ใช้รายอื่นของเซสชันนั้นจะถูกถอดออก คุณอาจต้องการดูการเปลี่ยนลำดับอื่น ๆ ที่อธิบายไว้ใน manpage

   -d -r   Reattach a session and if necessary detach it first.
   -d -R   Reattach a session and if necessary detach or even create it first.
   -d -RR  Reattach a session and if necessary detach or create it. Use the first session if more than one session is available.
   -D -r   Reattach a session. If necessary detach and logout remotely first.
   -D -R   Attach  here and now. In detail this means: If a session is running, then reattach. If necessary detach and logout remotely first.  If it was not running create it and notify the user. This is the author's favorite.
   -D -RR  Attach here and now. Whatever that means, just do it.

แน่นอนคุณสามารถตั้งค่าหน้าจอเป็นเชลล์ล็อกอินได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.