Das Skript selbst Funktioniert, wenn ich vom Terminal gestartet wurde, aber wenn ich es dem Installation Ziel hinzufüge, wie < /p>
Code: Select all
install(
CODE
"execute_process(
COMMAND /usr/bin/python3 \"${CMAKE_SOURCE_DIR}/tools/enable-shutdown-menu-keybind.py\" --command \"${CMAKE_INSTALL_FULL_BINDIR}/shutdown_menu\"
RESULT_VARIABLE _ENABLE_SHUTDOWN_MENU_KEYBIND_RESULT
)
if (_ENABLE_SHUTDOWN_MENU_KEYBIND_RESULT GREATER 0)
message(FATAL_ERROR \"Enabling shutdown-menu keybinds failed with exit code \${_ENABLE_SHUTDOWN_MENU_KEYBIND_RESULT}\")
endif()"
CONFIGURATIONS Release RelWithDebInfo MinSizeRel
)
< /code>
Es schlägt plötzlich fehl. Wie Sie mit Getting org.gnome.setings-daemon.plugins.Media-keys Custom-Keybindings
I Denken Sie nicht, dass es ein Problem ist, das sich aus der Ausführung von CMAKE mit erhöhten Rechten ergibt, um das Programm so zu installieren, dass das Skript aus einem Terminal mit sudo funktioniert. So weit:
[*] Ändern des Befehls in/usr/bin/bash -c \ "/usr/bin/python3 '${CMAKE_SOURCE_DIR}/tools/enable-shutdown-menu-keybind.py' --command '${CMAKE_INSTALL_FULL_BINDIR}/shutdown_menu'\"
adding env Gnome_shell_session_mode = '$ env {gnome_shell_session_mode}' vor dem Befehl (ja, ich habe sichergestellt Es hat etwas Todo mit der Umgebung (weshalb ich den zweiten Punkt ausprobiert habe), aber ich bin mir nicht sicher, was ich vermissen würde.
Bearbeiten: < /p>
Ich habe nur an etwas anderes gedacht, das ich testen konnte. Ich habe die cmake_install_prefix vorübergehend auf ein Verzeichnis gesetzt und den Befehl cmake install ohne erhöhte Rechte ausgeführt. Zu meiner Überraschung lief das Skript präfekt gut. Für den Fall, dass es wichtig ist, erhöhe ich CMake mit PKExec. Es hat funktioniert, als ich das Skript mit einer VSCODE -Startkonfiguration mit "sudo": true option tho.