Để chọn giữa loại chỉ báo ứng dụng nào để sử dụng cho một chương trình, tôi cần phát hiện xem tôi có đang sử dụng máy tính để bàn Unity hay không. Điều này có thể không? Có thể nào khi tôi không có quyền truy cập vào môi trường không?Làm thế nào tôi có thể phát hiện khi tôi đang ở trên một hệ thống đang chạy Unity?
Trả lời
Dường như có cũng XDG_CURRENT_DESKTOP:
[email protected]:~$ echo $XDG_CURRENT_DESKTOP
Unity
Xem https://askubuntu.com/questions/70296/is-there-an-environment-variable-that-is-set-for-unity
Có, đây là kết quả của 'env'. – icedwater
Chỉ cần thực thi shell ps aux | grep unity
, đây là giao diện chéo cho Linux. Thậm chí hoạt động trên lõi ARM.
Trên 11.04 Ubuntu hoạt động thống nhất của tôi, nó trả về bảng thống nhất-2d, unity-2d-launcher và các quy trình khác. Không thể xác nhận nếu điều này là đúng trên mọi nền tảng Linux.
Có thể có các phiên khác (thuộc về người dùng hiện tại hoặc người dùng khác) chạy Unity khi phiên hiện tại của bạn có thể không. Tôi khuyên không nên dựa vào sự tồn tại của một tiến trình Unity. – Manki
Trong Ubuntu bạn có thể sử dụng lệnh sau:
- echo $ DESKTOP_SESSION: Đây ubuntu lệnh trở lại khi bạn đang sử dụng Unity và ubuntu-2d khi bạn đang sử dụng Unity 2D và ...
- sudo grep "Phiên khởi đầu" /var/log/lightdm/lightdm.log: Do phiên bản Ubuntu cuối cùng sử dụng lightdm làm trình quản lý hiển thị, bạn có thể xem dòng cuối cùng của tệp lightdm.log.
Nhìn trong danh sách các biến môi trường cho sự hiệp nhất bằng cách chạy dòng lệnh này:
env | grep -i unity
Nếu như in this answer bạn thấy XDG_CURRENT_DESKTOP=Unity
thì bạn biết nó đang được sử dụng. Ngoài ra, bạn có thể kiểm tra desktop
thay vì unity
.
Tìm thấy: http://askubuntu.com/questions/70296/is-there-an-environment-variable-that-is-set-for-unity – wormsparty
Tôi đã chỉnh sửa câu hỏi của mình, tôi có thể không có quyền truy cập với môi trường, vì vậy đó không phải là một giải pháp hoàn chỉnh. – fredley
Một cách khác là kiểm tra xem quy trình có tên 'unity' đang chạy hay chưa. Tôi không nghĩ rằng có một cách đa nền tảng để làm điều này. Đối với Linux, bạn có thể muốn xem: http://stackoverflow.com/questions/939778/linux-api-to-list-running-processes – wormsparty