Điểm:1

Di chuyển dự án python từ ubuntu sang máy chủ ubuntu

lá cờ sd

Tôi có vài ngày trải nghiệm với máy chủ Ubuntu và xin lỗi vì những câu hỏi ngu ngốc.

Tôi đã viết chương trình python hoạt động tốt trên Ubuntu 18.04LTS. Bây giờ tôi đang cố chạy chương trình tương tự trên MÁY CHỦ UBUNTU. Bên trong script tôi có cuộc gọi quy trình con như thế:

sub process.call(["gnome-terminal", "--", "bash", "-c", string_as_parameters ])

Khi tôi đang cố chạy trên máy chủ Ubuntu, tôi gặp lỗi:

[Lỗi2] Không có tệp hoặc thư mục như vậy: 'gnome-terminal'

Nếu tôi muốn chạy chương trình trên cả máy chủ và Ubuntu bình thường, tôi nên gọi quy trình con như thế nào? Nếu không thể, làm cách nào để thay đổi mã của tôi cho máy chủ Ubuntu?

Soren A avatar
lá cờ mx
Máy chủ Ubuntu là giao diện dòng lệnh thuần túy, không có chương trình đồ họa / GUI. Do đó, gnome-terminal (hoặc bất kỳ chương trình đồ họa nào khác) không được cài đặt.
luki avatar
lá cờ sd
Điều đó tôi biết bây giờ. Làm thế nào để giải quyết vấn đề của tôi? Tôi có nên gọi chương trình quy trình con là chương trình python bình thường và thực hiện tất cả các bản in thành tệp không? Là cách khác? Tôi có thể gọi giao diện dòng lệnh mới không?
Soren A avatar
lá cờ mx
Tôi không phải là lập trình viên python, nhưng không thể gọi và thực thi trực tiếp bash ?. mà không cần hỗ trợ đồ họa Ngoài ra, vấn đề đó có thể được hỏi tốt hơn trong một diễn đàn lập trình - và với mô tả rõ ràng hơn về những gì bạn đang cố gắng triển khai.
user535733 avatar
lá cờ cn
Đối với Ubuntu Server, chỉ cần bỏ qua hai mục đầu tiên của danh sách.
cocomac avatar
lá cờ cn
Điều này có trả lời câu hỏi của bạn không? [Làm cách nào để thực thi chương trình hoặc gọi lệnh hệ thống?](https://stackoverflow.com/a/89243/16886597) - @SorenA Đúng vậy. Bạn sẽ làm `sub process.call(["bash", "-c", string_as_parameters])`.
luki avatar
lá cờ sd
Cuộc gọi này đã khắc phục sự cố của tôi: sub process.Popen(['python3', path_to_file, arg1, arg2], preexec_fn=os.setpgrp) . Tôi không thể sử dụng sub process.call vì tôi có 3 quy trình con trong một tập lệnh và chương trình đầu tiên đang chờ lệnh gọi đầu tiên kết thúc.
luki avatar
lá cờ sd
chúng ta có thể đóng câu hỏi này

Đă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.