Gnome Shell: Chạy script shell sau khi phiên bắt đầu?


9

Tôi là người dùng KDE lâu năm, chưa bao giờ thấy Gnome vì có thể là Mandrake Linux 10. Hôm qua tôi đã xem qua Gnome Shell trên Youtube và nghĩ rằng nó có thể đáng xem.

Nó thực sự có giá trị, nhưng tôi không thể tìm ra một khoảnh khắc.

Tôi đã có một tập lệnh shell được sử dụng để chạy trên các bản cài đặt Máy tính xách tay KDE của tôi từ lâu:

synclient |grep -E 'TapT|RightB|EdgeScr'|awk '{print $1}'|while read item; do synclient $item=0; done
synclient VertScrollDelta=-111
synclient HorizScrollDelta=1
synclient RightEdge=999999999
synclient TopEdge=0
synclient CircularScrolling=0
synclient BottomEdge=999999999
synclient RightButtonAreaLeft=9999999
synclient ClickFinger3=2
synclient HorizScrollDelta=0
synclient HorizTwoFingerScroll=0 

Điều này vô hiệu hóa nhấp chuột phải, tất cả các vòi, đảo ngược hướng cuộn, vô hiệu hóa cuộn ngang và các công cụ. Menu touchpad cũng như trong KDE cũng không trong gnome không cho phép loại cấu hình này. (TBH, chỉ Mac của tất cả các hệ điều hành có gui để thiết lập bàn di chuột chính xác như vậy :)).

Tôi không thể tìm ra, làm thế nào để tôi chạy cái này sau khi phiên shell gnome bắt đầu? Tôi đã thử điều này mà không có kết quả:

[1] % cat /home/neko/.config/autostart/script.desktop 
[Desktop Entry]
Name="Auto stuff"
GenericName="Auto startup stuff"
Comment="Synclient mostly"
Exec=/home/neko/bin/auto_stuff.sh
Terminal=false
Type=Application
X-Gnome-Autostart=true

Bất kỳ đề nghị khác, xin vui lòng? Cảm ơn bạn.


1
.desktoptập tin thực thi?
muru

Tôi không biết rằng các tệp .desktop nên có quyền thực thi. :)
Mikhail Krutov

3
Các launcher cục bộ (người dùng), yeah, chúng phải như vậy +x. Mở ~/.config/autostartbằng Nautilus và nhấp đúp chuột vào script.desktop, bạn sẽ được nhắc "đánh dấu là đáng tin cậy" (tương đương với chmod +x).
don_crissti

Câu trả lời:


7

Bạn có thể sử dụng các thuộc tính gnome-session-chương trình. Chỉ cần thực hiện nó từ dấu nhắc shell của bạn (gnome-terminal):

$ gnome-session-properties

Điều này sẽ mở một GUI nơi bạn có thể định cấu hình (nghĩa là thêm, chỉnh sửa, xóa, bật và tắt) các chương trình khởi động.

Tốt đẹp và dễ dàng. Thưởng thức.

Cập nhật: Như don_crissti (cảm ơn) đã lưu ý trong các bình luận bên dưới, chức năng khởi động các thuộc tính gnome-session-property đã được chuyển sang gnome-tweak-toolkể từ Gnome 3.12 (btw là một công cụ tuyệt vời, nhưng hơi rắc rối vì nó tập trung quá nhiều chức năng). Vì vậy, đối với các phiên bản 3.12 trở lên, đây là nơi mới để tìm.

OBS: Và btw, sử dụng phương pháp này, bạn không cần tạo .desktoptệp, bạn chỉ cần chỉ định dòng lệnh của /home/neko/bin/auto_stuff.shtập lệnh bạn đã tạo (hoặc bất kỳ tập lệnh hoặc lệnh nào khác bạn muốn).


Đáng lưu ý rằng gnome-session-propertiestệp nhị phân không còn xuất hiện trong các bản phát hành Gnome 3 gần đây (đã bị xóa kể từ 3.12IIRC). Chức năng của nó đã được bao gồm trong gnome-tweak-tool.
don_crissti

Thật thú vị ... Tôi đang sử dụng Fedora 20 (với Gnome 3.10), vẫn còn có nó. Đáng buồn là nhóm Gnome liên tục làm tê liệt (hoặc định hình) phần mềm chống lại sở thích của người dùng. Ít nhất là họ vẫn giữ chức năng trong gnome-chỉnh-tool, vì vậy đây là nơi mới để tìm ...
Marcelo

gnome-chỉnh-công cụ không cho phép bạn thêm tập lệnh tại một vị trí cụ thể. Bạn cần phải nhảy qua các vòng với các tập tin máy tính để bàn.
RichieHH

Tuy nhiên, các thuộc tính gnome-session vẫn hoạt động ít nhất trong ubfox gnome 17.04; chỉ cần bắt đầu nó từ một cái vỏ.
Tim Richardson

3
Xin chào @Marcelo cho tôi, (Ubuntu 17.04) Tôi không thể tìm thấy bất kỳ thành phần UI nào trong công cụ gnome-chỉnh-cho phép tôi nhập các tập lệnh dòng lệnh hoặc thậm chí duyệt tìm chúng. Có lẽ Gnome trên Ubuntu chậm hơn một chút, mặc dù chủ yếu là 3,24. Đây có thể là lý do tại sao các thuộc tính gnome-session vẫn có sẵn. Tôi mới đến gnome, di chuyển từ xfce. Từ những gì tôi có thể thấy, gnome-Tune-tool không có bất cứ thứ gì như chức năng của các thuộc tính gnome-session khi nói đến các kịch bản khởi động và thật kỳ lạ là nó khó đến mức nào.
Tim Richardson

2

Trong .desktopcác tập tin trường hợp là đáng kể . Mẫu sau hoạt động trong Fedora 27 với shell Gnome (nghĩa là Exec=giá trị được thực thi trong khi bắt đầu phiên):

[Desktop Entry]
Encoding=UTF-8
Exec=/path/to/myscript arg1
Name=myscript
Comment=script some stuff
Terminal=false
OnlyShowIn=GNOME
Type=Application
StartupNotify=false
X-GNOME-Autostart-enabled=true

(sẽ được lưu trữ dưới dạng $HOME/.config/autostart/myscript.desktop)

Sự khác biệt chính: bạn đã sử dụng khóa X-Gnome-Autostart=trong ví dụ của bạn.

Kiểm tra kỹ xem tập lệnh của bạn /path/to/myscriptcó thực thi được không, tức là nếu nó có tập lệnh cho phép e x có thể đặt được.

Điều OnlyShowIn=này có lẽ không đáng kể đối với chức năng tự khởi động, nhưng tôi đã không kiểm tra nó mà không có nó. Bạn có thể liệt kê nhiều môi trường máy tính để bàn như thế này: OnlyShowIn=GNOME;LXDE;Unity;Tham khảo XDG_CURRENT_DESKTOPbiến môi trường để xác minh các giá trị chính xác.

Nếu bạn muốn kiểm tra xem tập lệnh của bạn có in bất kỳ thông báo lỗi nào bạn có thể kiểm tra hay không journalctl --user, tức là nhật ký phiên.


Điều này làm việc cho tôi nhưng tôi đã phải sử dụng chmod +x myscript.desktop /path/to/myscript.shnhư đề xuất trong một bình luận. Nếu không, tạp chí - người dùng sẽ đưa ra lỗi Could not parse desktop file myscript.desktop or it references a not found TryExec binary.
sergio

@sergio, chắc chắn, /path/to/myscript.shbạn muốn thực thi phải được thực thi. Nhưng myscript.desktopkhông không cần phải có quyền thực thi.
maxschlepzig
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.