Score:0

TigerVNC ให้หน้าจอสีดำเมื่อเริ่มต้นโดยสคริปต์

ธง mm

คำถาม

ฉันได้ติดตั้งซอฟต์แวร์เซิร์ฟเวอร์ TigerVNC ลงในเครื่องเกสต์ Ubuntu 18.04 ที่ทำงานใน VMware Workstation

ฉันสามารถ VNC เข้าสู่ (เช่น ใช้โปรแกรมดู VNC เพื่อดู) เครื่องแขกได้ดีหลังจากดำเนินการบรรทัดต่อไปนี้ด้วยตนเองใน Terminal หรือ Xterm (ของเครื่องแขก):

vncserver: 1 - localhost ไม่มี - รูปทรงเรขาคณิต 980x700 - ความลึก 32

แต่การเรียกใช้บรรทัดเดียวกันในสคริปต์ดังต่อไปนี้ทำให้ฉันมีเพียงหน้าจอสีดำบนโปรแกรมดู VNC ที่มีจุดสำหรับเคอร์เซอร์

#!/bin/bash
vncserver: 1 - localhost ไม่มี - รูปทรงเรขาคณิต 980x700 - ความลึก 32

ฉันควรทำอย่างไรกับสคริปต์เพื่อให้มันใช้งานได้ (ให้หน้าจอ VNC ที่เหมาะสมแก่ฉัน)

พื้นหลัง

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

ไม่ใช่ทุกสคริปต์ที่ทำให้ฉันมีปัญหา ตัวอย่างเช่นฉันใช้สิ่งต่อไปนี้ได้ดี (เพื่อเมานต์โฟลเดอร์แชร์ของเครื่อง Window ในแขก Ubuntu)

#!/bin/bash
sudo mount -t cifs -o username=tom,uid=1000,gid=1000 //192.168.0.17/d /home/loom/mnt/summer_d

ต่อไปนี้ (ตั้งใจที่จะเมานต์ฮาร์ดไดรฟ์) ล้มเหลว และฉันต้องดำเนินการด้วยตนเอง ซูโด บรรทัดใน Terminal หรือ Xterm

#!/bin/bash
sudo mount /dev/sdb1 /home/loom/hdd/hdd5 -o uid=1000,gid=1000,utf8,dmask=027,fmask=137

เมื่อฉันดำเนินการด้วยตนเอง ฉันกำลังดำเนินการดังกล่าวจากไดเร็กทอรีเดียวกับที่มีสคริปต์อยู่ ดูเหมือนจะไม่เป็นปัญหา

เมื่อฉันคลิกสองครั้งที่สคริปต์ มันจะโหลดลงใน Xterm

วิ่ง สะท้อน $SHELL ใน Terminal หรือ Xterm ให้ฉัน /ถัง/ทุบตี.

อย่างที่คุณเห็น ฉันมีปัญหาทั่วไป: สคริปต์ไม่ทำงานอย่างน่าเชื่อถือ

เนื่องจากฉันเห็นบรรทัด she-bang ของสคริปต์เป็นการป้อนบรรทัดอื่นไปยังเชลล์เฉพาะ และบรรทัดอื่นเป็นการป้อนสิ่งที่ฉันอาจป้อนด้วยตนเอง ฉันไม่เห็นว่าทำไมบรรทัดเดียวกันควรทำงานหรือไม่ขึ้นอยู่กับว่าพวกเขาเป็นอย่างไร ป้อน (ด้วยตนเองหรือผ่านสคริปต์)

คำตอบที่ดีจะแสดงให้ฉันเห็นวิธีแก้ปัญหาเฉพาะกับ VNC และให้คำอธิบายทั่วไปเกี่ยวกับสิ่งที่ฉันอาจทำผิดในสคริปต์เหล่านี้ ขอบคุณ.

Score:1
ธง us

คุณวางสคริปต์ที่เป็นปัญหาไว้ที่ไหน จะต้องอยู่ในไดเร็กทอรีที่เป็นส่วนหนึ่งของตัวแปรสภาพแวดล้อม $PATH ของเครื่องของคุณ คุณสามารถค้นหาได้ด้วยคำสั่งนี้

 สะท้อน $PATH

ซึ่งควรส่งคืนสิ่งนี้

สะท้อน $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

และหากอยู่ในโฟลเดอร์ใดโฟลเดอร์หนึ่งเหล่านี้ คุณควรตรวจสอบด้วยว่าสคริปต์ของคุณสามารถเรียกใช้งานได้

หากไม่ใช่กรณีที่คุณต้องย้ายไปยังโฟลเดอร์ ให้เปิดเทอร์มินัลแล้วเปิดใช้

sudo chmod +x script_name
Catomic avatar
mm flag
ขอบคุณ. ฉันเหนื่อย. ฉันไม่สามารถย้ายหรือคัดลอกสคริปต์ใด ๆ ไปยังไดเร็กทอรีใด ๆ ใน $PATH ฉันอาจต้องได้รับอนุญาตหรือลองเป็น superuser? อย่างไรก็ตาม มีสคริปต์จำนวนมากในตำแหน่งปัจจุบันที่ทำงานได้ดี พวกเขาจะทำงานโดยไม่อยู่ในไดเร็กทอรี $PATH ได้อย่างไร
lejurassien avatar
us flag
`sudo mv /the_script /the_destination ` และตรวจสอบว่าสามารถเรียกใช้งานได้หรือไม่ รวมถึงผู้ใช้และกลุ่มด้วย
lejurassien avatar
us flag
ฉันเลือกใช้วิธีแก้ปัญหาอื่นเพื่อเปิดใช้งาน x11vnc ใช้เมนูแอปพลิเคชันเมื่อเริ่มต้นและเพิ่มการเริ่มต้น x11vnc ด้วยสิ่งนี้ [Imgur1](https://i.imgur.com/NcONDOR.jpg) [Imgur2](https://i.imgur.com/u9uYJ9i.jpg) และตรวจสอบให้แน่ใจว่าเซสชันไม่ล็อก มิฉะนั้นจะมีหน้าจอสีดำที่มีจุด ซึ่งทำให้ฉันนึกถึงปัญหาของคุณ ดูให้ดีว่าเซสชันของคุณไม่ได้ล็อก
Catomic avatar
mm flag
ฉันทำสองสิ่ง (`mv` ไปยังตำแหน่ง $PATH และ `chmod`) และผลลัพธ์คือ: สคริปต์การติดตั้งฮาร์ดไดรฟ์ใช้งานได้ แต่สคริปต์ VNC ยังคงแสดงหน้าจอสีดำให้ฉัน คำตอบของคุณมีค่ามากสำหรับฉันเนื่องจากสคริปต์แรก ขอบคุณ. ฉันจะโพสต์คำถามอื่นเกี่ยวกับวิธีรวมไดเร็กทอรีใน $PATH (เพื่อใช้เป็นที่เก็บสคริปต์) และฉันสามารถตั้งค่าไดเร็กทอรีให้สคริปต์ใดก็ตามที่ฉันสร้างขึ้นมีสถานะ `chmod +w` อยู่แล้วหรือไม่ บางทีคุณอาจจะสนใจคำถามใหม่ด้วย
lejurassien avatar
us flag
ขออภัยในความล่าช้า หากต้องการเพิ่มไดเร็กทอรีใน $PATH ให้รันคำสั่งนี้ `export PATH=/home/catomic/work:$PATH` แน่นอนว่าที่อยู่สามารถเป็นอะไรก็ได้ที่คุณต้องการ /bin/my-scripts ซึ่งจะให้ `ส่งออก PATH=/bin/my-scripts:$PATH` และโดยปกติสคริปต์ที่คุณจะใส่ในไดเร็กทอรีนี้จะสามารถเรียกใช้งานได้ตราบเท่าที่คุณมีสิทธิ์ที่ดีสำหรับไดเร็กทอรีและสำหรับสคริปต์ ฉันหวังว่านี่คือสิ่งที่คุณถาม ภาษาอังกฤษของฉันแย่มาก
lejurassien avatar
us flag
แต่ยังมีสิ่งหนึ่งที่ไม่ถาวร นั่นคือเมื่อรีบูตเส้นทางที่เพิ่มเข้ามาจะหายไป ดังนั้นมันจึงกลายเป็นถาวรเมื่อการทดสอบได้ข้อสรุป จำเป็นต้องแก้ไข .bashrc หรือ .profile ฉันใส่ลิงค์ที่อธิบายทั้งหมดนี้และในภาษาของคุณ https://www.howtogeek.com/658904/how-to-add-a-directory-to-your-path-in-linux/

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา