คำถามติดแท็ก gnu-screen

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

1
สลับหน้าต่างหน้าจอ GNU ด้วยปุ่ม F บน PuTTy
ฉันพยายามใช้ปุ่ม f เพื่อสลับหน้าต่างบนหน้าจอ GNU / PuTTy แต่ฉันไม่สามารถใช้งานได้ นี่คือ. screenrc ปัจจุบันของฉัน: bindkey -k k1 select 1 bindkey -k k2 select 2 bindkey -k k3 select 3 (...) การเปลี่ยนตัวเลือกคีย์บอร์ด PuTTy เป็น "XTerm R6" ไม่ทำงาน ฉันยังไม่รู้ด้วยว่าค้นพบรหัสใดบ้างที่ได้รับจากหน้าจอเมื่อฉันกดแป้นบน Putty แก้ไข: แก้ไขปัญหา! ปรากฎว่าฉันต้องปิดและเปิดเซสชั่นหน้าจออีกครั้งเพื่อให้การกำหนดค่ามีผลบังคับใช้ (ฉันกำลังถอดและใส่กลับเข้าไปใหม่) . screenrc ปัจจุบันของฉันคือ: bindkey "\033OP" select 0 bindkey "\033OQ" select 1 bindkey …

2
Debian: ฆ่าเซสชันบนหน้าจอผ่านเว็บ
ฉันมีรหัส PHP ที่เป็นดังนี้ (kill.php): <?php echo exec("/home/duke/aa/scripts/test.sh"); ?> test.sh มีลักษณะเช่นนี้: screen -S server -X quit ถ้าฉันเรียกใช้โค้ด php ในเทอร์มินัลphp screen -S server -X quitสคริปต์จะฆ่าเซสชันหน้าจอ อย่างไรก็ตามถ้าฉันชี้เว็บเบราว์เซอร์ของฉันไปที่http: //mywebsite/test.phpมันจะแสดง "ไม่พบเซสชันหน้าจอ" และจะไม่ฆ่าเซสชันของหน้าจอ ฉันจะทำอย่างไรเพื่อให้เว็บเบราว์เซอร์ทำงานได้

1
ทำไมหน้าจอ GNU ไม่แสดงคำอธิบายภาพหน้าต่างด้านล่างหลังจากแยก?
เมื่อเร็ว ๆ นี้หน้าจอล้มเหลวในการแสดงคำบรรยายภาพของพื้นที่ด้านล่างหลังจากแบ่ง: ฉันใช้ OS X 10.6 และนี่คือแพ็คเกจ MacPorts หน้าจอของ Apple ที่ / usr / bin / หน้าจอไม่มีปัญหานี้: เกิดอะไรขึ้น? ผมยังไม่ได้เปลี่ยนฉัน.screenrcได้ตลอดเวลาเมื่อเร็ว ๆ gdbนี้และมันจะดีที่จะแก้ไขปัญหานี้ได้โดยไม่ต้องคอมไพล์หน้าจอที่มีการแก้จุดบกพร่องธงและก้าวผ่านไปด้วย (btw ฉันใช้แพคเกจ MacPorts เพราะมันถูกคอมไพล์ด้วยตัวเลือก 256 สีซึ่งฉันต้องการvim)

1
หน้าจอ gnu: เปลี่ยนชื่อโดยไม่ลบชื่อก่อนหน้า?
ในเวิร์กโฟลว์ของฉันฉันจะมีหน้าจอที่กำหนดชื่อเองมากมาย ฉันใช้ แก้ไขหน้าจอแล้วเช่น Ctrl-A , เปลี่ยน - : เพื่อไปที่โหมดการเปลี่ยนชื่อ มันจะเริ่มต้นด้วยชื่อก่อนหน้านี้และเคอร์เซอร์ในตอนท้าย ฉันต้องกด Backspace เพื่อลบทั้งหมดแล้วพิมพ์ชื่อ ส่วนใหญ่เวลาที่ฉันอยู่ในโหมดที่งี่เง่าอัตโนมัติและลืมที่จะลบชื่อเก่าและลงท้ายด้วยบางสิ่งเช่น "bashNewname" ฉันสามารถแก้ไข screenrc ของฉันเพื่อตั้งชื่อเริ่มต้นเป็น "" แทน แต่ฉันใช้ระบบจำนวนมากที่ไม่มี screenrc ของฉัน ดังนั้นหากมีคำสั่งที่ฉันไม่รู้จักแทน เปลี่ยน - และมีให้ในการติดตั้งหน้าจอ gnu มาตรฐานทั้งหมดมันยอดเยี่ยมมาก

0
Linux ลงชื่อเข้าใช้เว็บไซต์ผ่าน wget หรือ curl และแสดงบนจอภาพภายนอกผ่านโครเมียมเบราว์เซอร์
ขณะนี้ฉันกำลังพยายามเขียนสคริปต์ แต่ฉันประสบปัญหาหลายอย่าง ... ฉันต้องการที่จะเข้าสู่เว็บไซต์จาก Ubuntu 16.04.4 เซิร์ฟเวอร์ LTS ของฉันและกว่าที่จะแสดงบนหน้าจอแยกผ่านโปรแกรม "โครเมียมเบราว์เซอร์" ... ปัญหาคือตอนนี้ว่าฉัน) ไม่ทราบว่าเข้าสู่ระบบ curl ทำงานและข) ถ้าฉันไม่ได้รับเว็บไซต์ที่ถูกต้อง ฉันลองตัวเลือกที่เป็นจริงด้วย curl ดังนั้นโปรดแก้ตัวสคริปต์อึของฉัน: D #!/bin/bash export DISPLAY=:0 killall chromium-browser killall vlc curl -s -k -d -c cookie.txt "username=#MYUSER" "pwd=#MYPASSWORD" https://mywebsiteIwanttologin.com/ curl -s -k -d --cookie ./somefile https://mywebsiteIwanttologin.com/ curl -s -k -d "username=#MYUSER&pwd=#MYPASSWORD&submit=button" 'https://mywebsiteIwanttologin.com/' > …

2
หน้าจอเข้าสู่ระบบดู (หมุน)
ฉันใช้เซิร์ฟเวอร์จดหมายซึ่งฉันเชื่อมต่อโดยใช้ SSH ของฉัน .bash_profile มีการกำหนดค่าเพื่อแนบเซสชัน SSH กับบางอย่าง screen เซสชั่น ตอนนี้ฉันต้องการบันทึก (เช่น syslog) พิมพ์ไปที่หน้าต่างเดียวของเซสชันหน้าจอนี้ ฉันพยายามวิ่ง tail -f /var/log/syslog แต่ผลลัพธ์จะหยุดทุกวันเวลา 6:25 น. ฉันเดาว่านั่นเป็นเวลาที่บันทึกจะหมุน ดังนั้นจึงมีวิธีพิมพ์บันทึกบนหน้าจอใช่หรือไม่

1
เราจะเพิ่มหน้าจอลินุกซ์ (ยูทิลิตี้หน้าจอในเทอร์มินัลไม่ใช่หน้าจอทางกายภาพ) ขีด จำกัด การเลื่อนกลับได้อย่างไร?
เมื่อฉันใช้หน้าจอบนเครื่อง linux ฉันสามารถใช้การควบคุม A + ECS เพื่อเปิดใช้งานโหมดการคัดลอกและเลื่อนกลับ .... อย่างไรก็ตามดูเหมือนว่ามีการ จำกัด การเลื่อนกลับ ฉันจะเพิ่มขีด จำกัด นี้ให้ใหญ่ที่สุดได้อย่างไร ขอบคุณ.

0
หน้าจอล้างหน้าจอทุกครั้งเมื่อออก - วิธีปิดใช้งาน
ดูเหมือนว่าไม่เหมือนกัน less ที่สามารถปิดหน้าจอการล้าง - หน้าจอการล้างคำสั่ง 'น้อย' เมื่อออก - จะปิดได้อย่างไร? screen ล้างหน้าจอเสมอเมื่อออกจาก . ไม่สะดวกมาก คุณจะแก้ไขมันได้อย่างไร คงจะ tmux สามารถ? ขอบคุณ

1
คุณจะ cd ไปยังไดเรกทอรีของหน้าต่างหน้าจออื่นได้อย่างไร
gnome-terminal มีคุณสมบัติที่ยอดเยี่ยมที่การเปิดแท็บหรือหน้าต่างใหม่จะเริ่มเชลล์ใหม่ด้วย cwd = the cwd ของหน้าต่างที่เน้นก่อนหน้านี้ ฉันมักจะเรียกใช้หน้าจอ GNU ในแท็บ gnome-terminal ของฉัน ส่วนหนึ่งสำหรับ scrollback ส่วนหนึ่งสำหรับการแสดงผลขนาดกะทัดรัดและ enumarated จาก 5 ถึง 10 windows ส่วนหนึ่งสำหรับการกดแป้นอย่างรวดเร็วเพื่อสลับไปยังแท็บเฉพาะหรือแท็บก่อนหน้า แต่ฉันเริ่มอยากจะทำ cd ในหน้าต่างหนึ่งไปยัง CWD ของหน้าต่างอื่น คำถามคืออย่างไร (BTW เป็น stackexchange Q & amp; self-A เป็นวิธีที่เหมาะสมในการแบ่งปันนามแฝงที่ประณีตฟังก์ชั่นเชลล์หรือแฮ็คเช่นนี้ที่ฉันคิดขึ้นมาฉันไม่มีบล็อกและฉันไม่คิดว่าตัวสั่นด้วยความตื่นเต้นหรือ facebook จะเป็นตัวเลือกที่ดี)

1
รันเชลล์สคริปต์ในเซสชันเทอร์มินัลที่มีอยู่
ฉันกำลังเขียนสคริปต์เพื่อปรับใช้โครงการกับเซิร์ฟเวอร์หลายเครื่อง (9 และกำลังเพิ่มขึ้นเรื่อย ๆ ) ด้วยการบีบอัดการคัดลอกและการเชื่อมต่อระยะไกลสคริปต์จะกลายเป็นค่อนข้างช้าอย่างรวดเร็ว ดังนั้นตอนนี้ฉันกำลังตรวจสอบว่าสคริปต์เรียกผู้ช่วยทำงานผ่านหน้าจอ เวิร์กโฟลว์ในอุดมคติใน pseudocode มีดังนี้: deployment script accept user input for deployment parameters echo "deployment initiated" TTY=`tty` start helper 1 in detached screen, dumped to a temp file exit helper 1 export from SVN compress files upload to temporary directory on live servers swap old …

1
ฉันจะระบุชื่อหน้าจอสำหรับคำสั่ง (Gnu-Screen) ได้อย่างไร
หากมี 2 หน้าจอ gnu ที่มีชื่อ: screen1 และ screen10 ถ้าเราต้องการทำบางสิ่งกับ screen1 ฉันทำไม่ได้เพราะถ้าฉันลองเป็นตัวอย่างเพื่อพิมพ์บางสิ่งบนหน้าจอมันจะบอกว่ามี Screen screen1 และ screen10 ดังนั้นฉันต้องระบุคำสั่งของฉันดังนั้นมันจะพิมพ์ไปที่ screen1 โดยไม่มีปัญหาใด ๆ แต่จะระบุได้อย่างไรดังนั้นคำสั่งด้านล่างนี้จะใช้งานได้อย่างไร screen -x screen1 -p 0 -X stuff `printf "test\r"` หน้าจอแบบแมนนวล: http://www.gnu.org/software/screen/manual/screen.html (ฉันไม่พบข้อโต้แย้งที่จะแก้ปัญหานี้)

1
ใช้หน้าจอ GNU เพื่อสร้างสภาพแวดล้อมแบบแยกหน้าจอจากบรรทัดคำสั่ง
มีคนช่วยแนะนำฉันไปที่ไวยากรณ์สำหรับการใช้หน้าจอ GNU จากบรรทัดคำสั่ง ในคลัสเตอร์ก่อนหน้านี้ฉันจัดการเพื่อสร้างสคริปต์ทุบตีที่จะสร้างเชลล์จำนวนกระเบื้องที่ X จำนวนแต่ละ ssh-ing ลงในโหนดระยะไกลและเรียกใช้ htop ด้วยวิธีนี้ฉันสามารถตรวจสอบทั้งคลัสเตอร์จากเปลือกหนึ่ง ฉันสูญเสียการเข้าถึงคลัสเตอร์นั้น (และการทำงานกับมัน) แต่ฉันต้องทำสิ่งเดียวกันอีกครั้ง ฉันจำได้ว่าเห็นคำถามที่ตอบแล้วใน StackExchange, SuperUser หรือ LinuxQuestions ซึ่งเป็นสิ่งที่ฉันอ้างอิงจากสคริปต์ก่อนหน้าของฉัน แต่ฉันไม่สามารถหาชีวิตของฉันได้อีกดังนั้นฉันต้องถามอีกครั้ง ขอบคุณ, จวร์ต ** กรุณาอย่าแนะนำให้ใช้ไฟล์ screenrc นั่นไม่ใช่วิธีที่ดีที่สุดในการบรรลุสิ่งที่ฉันต้องการ

2
ฉันเข้าสู่ระบบผ่าน ssh และคำสั่งแรกอยู่เสมอหน้าจอ ฉันสามารถเชื่อมต่อกับบทเรียนเดียวกันหรือสร้างใหม่ได้หรือไม่ถ้าไม่มีอยู่?
โดยทั่วไปสิ่งที่ฉันต้องการทำคืออะไรเช่นนี้: screen -session-name = mydefaultscreen และหาก 'เซสชันชื่อ' ของ mydefaultscreen ไม่มีอยู่จริงก็จะสร้างขึ้นมาใหม่ หากมันมีอยู่แล้วมันจะทำการแนบกลับเข้าไปใหม่ ฉันรู้ว่าฉันสามารถทำหน้าจอ -x $ somenumberhere แต่ฉันต้องการมันโดยอัตโนมัติทั้งหมด ขอบคุณ

2
ฉันจะหยุดหน้าจอ GNU ฆ่าจอเทอร์มินัลของฉันด้วยการปลดระยะไกลได้อย่างไร
เมื่อฉันเริ่มหน้าจอในหนึ่งขั้วด้วย $ screen -R foo จากนั้นจึงถอดปลั๊กไฟออกจากเทอร์มินัลอื่นด้วย $ screen -D foo อาคารแรกของฉันตาย (หมายความว่าถ้าฉันเรียกใช้จาก gnome-terminal หน้าต่าง gnome-terminal ทั้งหมดจะหายไป) มีวิธีในการเปลี่ยนพฤติกรรมนี้เพื่อให้ฉันสามารถใช้อาคารเดิมหลังจากหน้าจอตาย?

0
ป้องกันการปิดหน้าจอ GNU
ดังนั้นฉันจึงเรียกใช้IrssiVPS ของฉันภายในเซสชันหน้าจอ GNU และบางครั้งปิดIrssiกระบวนการโดยไม่ตั้งใจเมื่อฉันออกจากระบบดังนั้นลืมปิดเซสชันหน้าจอไว้ล่วงหน้า มีวิธีที่ฉันสามารถป้องกันไม่ให้เซสชันของหน้าจอปิดการตัดการเชื่อมต่อหรือไม่?

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