Điểm:1

paplay không hoạt động từ cron

lá cờ mx

Hơn một năm trước, tôi đã viết một ứng dụng thông báo. (trên Ubuntu 16.04.7) đã phát một số âm thanh bằng paplay và sau đó đưa ra một cửa sổ yad có nội dung thông báo. Điều này có thể được chạy từ dòng lệnh hoặc từ cron. Gần đây tôi đã cài đặt Ubuntu 20.04.3 và thấy rằng chạy từ dòng lệnh vẫn hoạt động nhưng chạy từ cron thì không. Tôi có một thư mục bin bên dưới thư mục chính nơi lưu trữ tập lệnh (remind.sh). Phiên bản rút gọn của prompt.sh như sau. Lưu ý rằng khi tôi chạy từ cron, tôi không nhận được tín hiệu âm thanh nào cho biết tập lệnh đã chạy nhưng tệp theo dõi.txt được cập nhật và yad tạo ra một cửa sổ.

#!/bin/bash
# tập lệnh nhắc nhở được gọi từ một trong hai
# 1. cron hoặc
# 2. trực tiếp từ trình bao đến cửa sổ bật lên hoặc
# 3. gidday.sh
# tạo cửa sổ 'yad' có ảnh và thông báo trong đó.

/usr/bin/paplay /home/gary/sounds/marimba.ogg

# theo dõi đường chạy
d=`ngày`
tiếng vang "xong -- "$d >> dấu vết.txt

# bây giờ đưa ra ngoài cửa sổ
#
#/usr/bin/yad --borders=50 --scroll --image=/home/gary/Pictures/shrink-pictures/${ar[$t]} --title="${ar[$t] }" --text-align=center --mouse --width=800 --height=400 --text='<span font="20">'"$txt"'</span>' 2>/dev /vô giá trị

Xin lỗi, lẽ ra tôi nên cung cấp những điều sau đây trong bài đăng gốc của mình. Dòng trong crontab kích hoạt tập lệnh prompt1.sh là:

36 13 30 tháng 8 * export DISPLAY=:0 && export MESSG="lấy phim từ lib" && /home/gary/bin/remind1.sh

Như tôi đã nói trước đây, tất cả điều này đều chạy hoàn toàn tốt trong Ubuntu 16.04. Và nó vẫn không giải thích được tại sao lệnh paplay không chạy nhưng lệnh yad (không ghi chú) thì chạy.

Gary Fisher avatar
lá cờ mx
Xin lỗi, lẽ ra tôi nên cung cấp những điều sau đây trong bài đăng gốc của mình.
Gary Fisher avatar
lá cờ mx
Không chắc là tôi đang làm điều này đúng, nhưng có ai có bất kỳ ý tưởng/thông tin đầu vào nào về lý do tại sao paplay không chạy trong Ubuntu 20 nhưng lại hoạt động tốt trong Ubuntu 16 không ??
Điểm:1
lá cờ it

Công việc chạy qua cron, hoặc hệ thống tập lệnh khởi động không chạy trong cùng một môi trường thời gian chạy mà bạn có trên máy tính để bàn của mình. hệ thống kịch bản khởi động được chạy như nguồn gốc. Không ai trong số bạn CON ĐƯỜNG thay đổi hoặc cài đặt biến môi trường khác từ ~/.bashrc được tự động lan truyền đến bạn cron Công việc. Ví dụ, không có $HIỂN THỊ, vì vậy các chương trình GUI cần được xử lý đặc biệt (đọc người đàn ông xhost).

Người ta có thể đặt các biến môi trường cho tất cả mọi người cron công việc trong crontab tập tin Đọc người đàn ông 5 crontab.

Nhìn vào kết quả của echo "=== id ==="; id;echo "=== set ==="; set; echo "=== env ==="; env | sort;echo "=== bí danh ==="; bí danh trong mỗi môi trường của bạn.

Kể từ khi chỉ huy một phần của crontab theo mặc định, dòng được giải thích bởi /bin/sh, có cú pháp đơn giản hơn /bin/bash, tôi khuyên bạn nên có chỉ huy là một cuộc gọi đến một đánh đập tập lệnh (có thể thực thi, được gắn kết, bắt đầu bằng #!/bin/bash) thiết lập môi trường, sau đó gọi chương trình mong muốn.

waltinator avatar
lá cờ it
Nhận xét được thiết kế để Hoa Kỳ đặt câu hỏi cho BẠN về Câu hỏi của bạn. Bạn nên [Chỉnh sửa] câu hỏi của mình để thêm thông tin. Bằng cách cập nhật Câu hỏi của bạn và sử dụng các nút định dạng, bạn cung cấp tất cả thông tin cho người đọc mới. Mọi người không cần phải đọc một loạt bình luận dài để hiểu toàn bộ câu chuyện.
Gary Fisher avatar
lá cờ mx
Có ai biết tại sao paplay không chạy trong tập lệnh của tôi trên Ubuntu 20.04 nhưng lại chạy tốt trên Ubuntu 16.04 không ?? Và để giải quyết một nhận xét trong phản hồi ban đầu, phần lệnh của dòng crontab có thể được diễn giải bởi/bin/sh nhưng cuộc gọi đang được thực hiện đối với tập lệnh bash.

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