Điểm:0

TigerVNC đưa ra màn hình đen khi bắt đầu bằng tập lệnh

lá cờ mm

CÂU HỎI

Tôi đã cài đặt phần mềm máy chủ TigerVNC cho máy khách Ubuntu 18.04 đang chạy trong VMware Workstation.

Tôi có thể truy cập VNC (tức là sử dụng trình xem VNC để xem) máy khách sau khi thực hiện thủ công dòng sau trong Terminal hoặc Xterm (của máy khách):

vncserver :1 -localhost no -geometry 980x700 -depth 32

Nhưng chạy cùng một dòng trong một tập lệnh, như sau, chỉ cho tôi một màn hình đen trên trình xem VNC với một dấu chấm cho con trỏ.

#!/bin/bash
vncserver :1 -localhost no -geometry 980x700 -depth 32

Tôi nên làm gì với tập lệnh để tập lệnh hoạt động (cung cấp cho tôi màn hình VNC phù hợp)?

LAI LỊCH

Tôi chưa quen với cả Ubuntu và trang web này. Nếu tôi bỏ qua thông tin liên quan, vui lòng cho tôi biết thông tin đó là gì và tôi sẽ cập nhật câu hỏi với thông tin đó. Hiện tại, tôi có thể nghĩ về những điều sau đây.

Không phải tất cả các tập lệnh đều gây ra sự cố cho tôi. Ví dụ: tôi sử dụng tốt cách sau (để gắn vào máy khách Ubuntu một thư mục dùng chung của máy Window).

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

Tuy nhiên, cách sau (dự định gắn ổ cứng) không thành công và tôi phải thực hiện thủ công sudo dòng trong Terminal hoặc Xterm.

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

Khi tôi thực thi thủ công, tôi đang làm như vậy từ cùng một thư mục với các tập lệnh được đặt trong đó; vì vậy đó dường như không phải là một vấn đề.

Khi tôi bấm đúp vào tập lệnh, nó sẽ tải vào Xterm.

Đang chạy tiếng vang $SHELL trong Terminal hoặc Xterm mang lại cho tôi /bin/bash.

Như bạn có thể thấy, tôi gặp một vấn đề chung: Tập lệnh không hoạt động ổn định.

Vì tôi thấy dòng she-bang của tập lệnh khi đưa các dòng khác vào một trình bao cụ thể và các dòng khác khi nhập những gì tôi có thể có theo cách thủ công, tôi không hiểu tại sao cùng một dòng có hoạt động hay không tùy thuộc vào cách chúng hoạt động được nhập (thủ công hoặc thông qua tập lệnh).

Một câu trả lời tuyệt vời sẽ chỉ cho tôi cách giải quyết vấn đề cụ thể với VNC và đưa ra lời giải thích chung về những gì tôi có thể làm sai trong các tập lệnh này. Cảm ơn.

Điểm:1
lá cờ us

bạn đã đặt các tập lệnh được đề cập ở đâu? Chúng phải nằm trong thư mục là một phần của biến môi trường $PATH trên máy của bạn. Bạn có thể tìm thấy nó bằng lệnh này

 tiếng vang $PATH

mà sẽ trả lại một cái gì đó như thế này

tiếng vang $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

và nếu chúng nằm trong một trong những thư mục này, bạn cũng nên kiểm tra xem tập lệnh của mình có thể thực thi được không.

Nếu không phải như vậy, bạn phải di chuyển đến thư mục, hãy mở thiết bị đầu cuối và khởi chạy

sudo chmod +x script_name
Catomic avatar
lá cờ mm
Cảm ơn. Tôi đã thử. Tôi không thể di chuyển hoặc sao chép bất kỳ tập lệnh nào vào bất kỳ thư mục nào trong $PATH. Tôi có thể phải xin phép hoặc thử với tư cách siêu người dùng? Dù sao, có nhiều tập lệnh ở vị trí hiện tại hoạt động tốt. Làm cách nào chúng có thể hoạt động mà không có trong thư mục $PATH?
lejurassien avatar
lá cờ us
`sudo mv /the_script /the_destination ` đồng thời kiểm tra xem chúng có thể thực thi được hay không cũng như người dùng và nhóm.
lejurassien avatar
lá cờ us
Tôi chọn một giải pháp khác để khởi chạy x11vnc. Sử dụng menu ứng dụng khi khởi động và thêm phần đầu của x11vnc bằng cái này [Imgur1](https://i.imgur.com/NcONDOR.jpg) [Imgur2](https://i.imgur.com/u9uYJ9i.jpg) và đảm bảo rằng phiên không bị khóa nếu không sẽ có màn hình đen có dấu chấm nhắc tôi về sự cố của bạn, hãy xem kỹ phiên của bạn không bị khóa
Catomic avatar
lá cờ mm
Tôi đã thực hiện hai việc (`mv` đến vị trí $PATH và `chmod`), và kết quả là: tập lệnh gắn ổ cứng hoạt động, nhưng tập lệnh VNC vẫn cho tôi màn hình đen. Câu trả lời của bạn rất có giá trị đối với tôi vì kịch bản đầu tiên. Cảm ơn. Tôi sẽ đăng một câu hỏi khác về cách đưa một thư mục vào $PATH (để làm nơi lưu trữ tập lệnh) và liệu tôi có thể đặt thư mục mà bất kỳ tập lệnh nào tôi tạo trong đó đều có trạng thái `chmod +w` hay không. Có lẽ bạn cũng sẽ vui lòng quan tâm đến câu hỏi mới.
lejurassien avatar
lá cờ us
Xin lỗi vì sự chậm trễ, vì vậy để thêm một thư mục trong $PATH, chỉ cần chạy lệnh này `export PATH=/home/catomic/work:$PATH` tất nhiên địa chỉ có thể là bất cứ thứ gì bạn muốn /bin/my-scripts sẽ cung cấp `xuất PATH=/bin/my-scripts:$PATH` Và thông thường, các tập lệnh mà bạn sẽ đặt trong thư mục này sẽ có thể thực thi được miễn là bạn có các quyền tốt đối với thư mục và đối với các tập lệnh. Tôi hy vọng đây là những gì bạn đang hỏi tiếng anh của tôi rất tệ
lejurassien avatar
lá cờ us
Nhưng vẫn còn một điều, nó không phải là vĩnh viễn, đó là khi khởi động lại, đường dẫn đã thêm sẽ biến mất để nó trở thành vĩnh viễn sau khi các bài kiểm tra kết luận, cần phải chỉnh sửa .bashrc hoặc .profile. Tôi đặt cho bạn một liên kết giải thích tất cả điều này và bằng ngôn ngữ của bạn https://www.howtogeek.com/658904/how-to-add-a-directory-to-your-path-in-linux/

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.