Tôi đang sử dụng Ubuntu 20.04 LTS và tôi vừa cài đặt Awesome Tiling WM. Tôi gặp sự cố "lỗi tra cứu biểu tượng" khi cài đặt Rofi, mặc dù tôi có thể tìm thấy biểu tượng trong thư viện mà nó đang tìm kiếm và tôi không biết phải làm gì với điều đó.
Đây là những gì tôi đã làm:
Mình cài Rofi với
~$ sudo apt cài đặt rofi
Nhưng khi tôi chạy nó, tôi nhận được
~$ rofi
rofi: lỗi tra cứu ký hiệu: ~/anaconda3/envs/py37/lib/./libgdk_pixbuf-2.0.so.0: ký hiệu không xác định: g_task_set_name
Tuy nhiên, ký hiệu g_task_set_name
Là trong thư viện tại địa điểm đó:
~$ nm -D --with-symbol-versions ~/anaconda3/envs/py37/lib/./libgdk_pixbuf-2.0.so.0 | grep g_task_set_name
Bạn g_task_set_name
(Tôi đã thấy ở nơi khác rằng phiên bản của các ký hiệu này quan trọng, nhưng tôi không thấy bất kỳ phiên bản nào sau ký hiệu này. Tôi không biết điều đó có nghĩa là gì, một số ký hiệu khác trong thư viện đó hiển thị phiên bản sau tên.)
Hơn nữa, khi tôi chạy rofi từ bên trong thư mục với thư viện thì không có vấn đề gì:
~/anaconda3/envs/py37/lib$ rofi
Rofi không chắc phải thể hiện điều gì.
Vui lòng chỉ định chế độ bạn muốn hiển thị.
rofi -show {mode}
Các chế độ sau được bật:
* cửa sổ
* chạy
* ssh
Những điều sau đây có thể được kích hoạt:
* cửa sổcd
* say rượu
* kết hợp
* phím
Để kích hoạt một chế độ, hãy thêm chế độ đó vào danh sách modi trong cài đặt modi.
Cuối cùng, tôi muốn thêm rofi vào một ràng buộc chính trong awesomeWM. Vì vậy, một cách giải quyết có thể là để lệnh luôn chạy từ thư mục này bằng cách nào đó.Nhưng tôi không biết làm thế nào để làm điều đó.
Trong khi cố gắng giải quyết vấn đề thấu đáo hơn, tôi càng bối rối hơn. Tôi tìm thấy cùng một thư viện ở hai vị trí khác, một cho 32-bit và một cho 64-bit.
~$ dpkg -S libgdk_pixbuf-2.0.so.0
libgdk-pixbuf2.0-0:amd64: /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0.4000.0
libgdk-pixbuf2.0-0:amd64: /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0
libgdk-pixbuf2.0-0:i386: /usr/lib/i386-linux-gnu/libgdk_pixbuf-2.0.so.0
libgdk-pixbuf2.0-0:i386: /usr/lib/i386-linux-gnu/libgdk_pixbuf-2.0.so.0.4000.0
Biểu tượng trong cả hai thư viện này:
~$ nm -D --with-symbol-versions /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0 | grep g_task_set_
U g_task_set_return_on_cancel
U g_task_set_source_tag
U g_task_set_task_data
(với đầu ra giống hệt nhau cho thư viện trong thư mục i386). Nhưng rofi vẫn chạy từ thư mục 64-bit:
/usr/lib/x86_64-linux-gnu$ rofi
Rofi không chắc phải thể hiện điều gì.
Vui lòng chỉ định chế độ bạn muốn hiển thị.
rofi -show {mode}
...
Nhưng không phải từ thư mục 32 bit:
/usr/lib/i386-linux-gnu$ rofi
rofi: lỗi tra cứu ký hiệu: /home/martin/anaconda3/envs/py37/lib/./libgdk_pixbuf-2.0.so.0: ký hiệu không xác định: g_task_set_name
Tôi muốn được trợ giúp để Rofi hoạt động, tốt nhất là thông qua việc giải quyết vấn đề nhưng các giải pháp thay thế cũng sẽ tốt.
Tôi cũng đánh giá cao sự giúp đỡ chỉ để hiểu những gì đang xảy ra. Tôi không hiểu cách rofi tìm kiếm các thư viện và biểu tượng. Tại sao nó không thể tìm thấy các biểu tượng trong thư viện? Và tại sao rofi chỉ chạy ở hai trong ba thư mục chứa thư viện, mặc dù chỉ một trong hai thư mục đó có thư viện với ký hiệu bên phải?
Cảm ơn trước