Điểm:7

quyền bị từ chối khi Evince cố gắng sử dụng Chrome để mở liên kết

lá cờ jp

Tôi biết có những câu hỏi hiện có về các vấn đề liên kết mở của Evince, nhưng đây có vẻ là một lỗi mới. Đây là vào ngày 21.04 nhưng tôi nghĩ rằng lỗi này mới xảy ra gần đây, tức là các liên kết đã hoạt động trước đó vào ngày 21.04. Vì vậy, tôi đã bắt đầu chứng minh từ dòng lệnh và khi tôi cố mở một liên kết trong tài liệu, tôi đã gặp lỗi này:

[205689:205689:0812/101716.420196:FATAL:double_fork_and_exec.cc(131)] execv /opt/google/chrome/crashpad_handler: Quyền bị từ chối (13)

Đây là evince 40.1 và Chrome 92.0.4515.131

Tôi đã gửi một vấn đề evince về điều này: https://gitlab.gnome.org/GNOME/evince/-/issues/1646 và xác định rằng sự cố là do AppArmor, đang ngăn cản Evince gọi Chrome (nhưng cho phép nó sử dụng Firefox). Vì vậy, tôi cần sửa đổi hồ sơ AppArmor để chứng minh. Tôi không có ý tưởng làm thế nào để làm điều này. Tôi đã thử sử dụng aa-logprof, nhưng rõ ràng tôi cần hướng dẫn mà tôi có thể hiểu được. Tôi sẽ đánh giá cao bất kỳ gợi ý nào chỉ ra từng bước, cách thực hiện sửa đổi cần thiết đối với hồ sơ chứng minh.

Cập nhật: Thành công. Tôi đã thêm dòng này vào hồ sơ sanitized_helper trong tóm tắt/ubuntu_helpers:

/opt/google/chrome/crashpad_handler Pixr,

và tải lại hồ sơ chứng minh. Bây giờ tôi nhận được những lỗi này khi nhấp vào liên kết:

[20036:20069:0813/075235.070369:ERROR:address_tracker_linux.cc(195)] Không thể tạo ổ cắm NETLINK: Quyền bị từ chối (13)
[20036:20065:0813/075235.071590:ERROR:udev_watcher.cc(52)] Không thể khởi chạy màn hình udev.
Mở trong phiên trình duyệt hiện có.

Và liên kết đã được mở thành công trong tab chrome mới.

lá cờ ru
Bắt đầu bằng cách chạy `tail -f /var/log/syslog | grep -i apparmor` trong terminal. Sau đó thử và mở liên kết. Chia sẻ kết quả từ chối apparmor để chúng tôi có thể bắt đầu chỉ cho bạn nơi bạn cần đến để khắc phục vấn đề này, vì nó sẽ nêu rõ chính sách cụ thể đang ảnh hưởng và sau đó chúng tôi có thể cập nhật chính sách này sau.
lá cờ jp
Ngày 13 tháng 8 05:38:20 ratel kernel: [52504.309148] audit: type=1400 audit(1628858300.725:61): apparmor="DENIED" operation="exec" profile="/usr/bin/evince//sanitized_helper" name= "/opt/google/chrome/crashpad_handler" pid=16475 comm="chrome" request_mask="x" bị từ chối_mask="x" fsuid=1000 ouid=0 Một nhận xét cho báo cáo gitlab của tôi đã gợi ý rằng vấn đề dường như là thực tế là các tệp thực thi chrome nằm trong/opt/google/chrome chứ không phải là một vị trí "bình thường" như/usr/bin.
lá cờ jp
Hồ sơ sanitized_helper, được xác định trong ubuntu_helpers, được bao gồm gián tiếp từ hồ sơ chứng minh, dường như cho phép thực thi những thứ trong/opt/google/chrome, nhưng không cho phép crashpad_handler.
Gert Willems avatar
lá cờ cn
Tôi cũng phải sử dụng tiền tố chrome_ trên Ubuntu 20.04, phiên bản chrome 96.0.4664.45 (Bản dựng chính thức) (64-bit)
Điểm:10
lá cờ jp

Chỉnh sửa tệp ubuntu-helpers:
sudo gedit /etc/apparmor.d/abstractions/ubuntu-helpers
Dưới hồ sơ sanitized_helper {,
tìm các dòng bắt đầu /opt/google/chrome.
Thêm dòng này:
/opt/google/chrome/crashpad_handler Pixr,
Lưu các tập tin.
Tải lại hồ sơ bằng chứng (trong khi ở /etc/apparmor.d):
sudo apparmor_parser -r usr.bin.evince

lá cờ cn
Cảm ơn rất nhiều! Cũng hoạt động trong Debian 11. Đối với phần cuối cùng, bạn chỉ cần chạy `sudo service apparmor restart`.
lá cờ cn
Tôi đã sử dụng `/opt/google/chrome/chrome_crashpad_handler Pixr,` vì không có gì trong đường dẫn đó có tên `/opt/google/chrome/crashpad_handler` và giải pháp đã hoạt động. Sau đó, tôi đổi lại giải pháp của bạn, nó ngừng hoạt động. Sau đó, tôi quay trở lại giải pháp của mình. :|
lá cờ jp
Trên hệ thống của tôi, nó vẫn là `chrome_crashpad_handler`. Đây là phiên bản chrome 94.0.4606.61 (Bản dựng chính thức) (64-bit). Rất kỳ lạ là tên sẽ khác trên hệ thống của bạn.
lá cờ cn
Tôi thứ hai @ssi-anik rằng ví dụ như Debian 11 (Bullseye) có tiền tố `chrome` trước `crashpad_handler`, vì vậy câu trả lời của @ssi-anik phù hợp với một số trường hợp.
Rob Rutten avatar
lá cờ ru
Tôi cũng cần tiền tố chrome_ thứ hai. Hoạt động trong Ubuntu 18,04 của tôi!
lá cờ ng
Bạn có thể tra cứu các đường dẫn với `$ dpkg -S `. Tôi có Chrome tiêu chuẩn từ Google (không phải crom hoặc một số thay thế khác). Đối với đường dẫn của câu trả lời: `dpkg-query: không tìm thấy đường dẫn nào phù hợp với mẫu /opt/google/chrome/crashpad_handler`. Với tiền tố `chrome_`: `google-chrome-stable: /opt/google/chrome/chrome_crashpad_handler`.
lá cờ ng
Thay vào đó, việc thêm dòng này bao gồm cả hai trường hợp: `/opt/google/chrome{,-beta,-unstable}/{,chrome_}crashpad_handler Pixr,`
water stone avatar
lá cờ in
Tôi cũng chỉ có /opt/google/chrome/chrome_crashpad_handler, không có /opt/google/chrome/crashpad_handler (tên tệp cũ rõ ràng hơn)
water stone avatar
lá cờ in
Tải lại hồ sơ chứng minh từ bất kỳ thư mục nào: Sudo apparmor_parser -r /etc/apparmor.d/usr.bin.evince
Điểm:2
lá cờ jp

Tôi đã tạo yêu cầu hợp nhất trên AppArmor để khắc phục sự cố này:

https://gitlab.com/apparmor/apparmor/-/merge_requests/830

David avatar
lá cờ cn
Còn sau này khi liên kết không có ở đó thì sao? Nếu có thông tin quan trọng trong liên kết, hãy đưa nó vào câu trả lời.

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