%20%D0%BD%D0%B5%20%D0%BE%D1%82%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B0%D0%B5%D1%82%D1%81%D1%8F%20%D0%BF%D0%BE%20%D0%BA%D0%B0%D0%BA%D0%BE%D0%B9-%D0%BB%D0%B8%D0%B1%D0%BE%20%D0%BE%D1%87%D0%B5%D0%B2%D0%B8%D0%B4%D0%BD%D0%BE%D0%B9%20%D0%BF%D1%80%D0%B8%D1%87%D0%B8%D0%BD%D0%B5.png)
Всякий раз, когда я нажимаю на иконку для запуска software and updates
, программа запускается и затем останавливается. Я даже пытаюсь запустить ее из командной строки, и происходит то же самое.
/usr/lib/python3/dist-packages/softwareproperties/gtk/SoftwarePropertiesGtk.py:40: PyGIWarning: Gdk was imported without specifying a version first. Use gi.require_version('Gdk', '3.0') before import to ensure that the right version gets loaded.
from gi.repository import GObject, Gdk, Gtk, Gio, GLib
/usr/lib/python3/dist-packages/softwareproperties/gtk/SoftwarePropertiesGtk.py:40: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version('Gtk', '3.0') before import to ensure that the right version gets loaded.
from gi.repository import GObject, Gdk, Gtk, Gio, GLib
Такое поведение странно, поскольку команда завершается без ошибок ( echo $?
). Что еще может вызывать такой сбой?
Как ни странно, если я запускаю его как root ( gksu software-properties-gtk
), то он работает нормально.
решение1
Проблема заключалась в том, что версия Python, которую я установил как пользователь, не включала библиотеки gtk, необходимые для запуска этой программы.
Когда я запустил его как root, он использовал установленный в системе Python, в котором уже были встроены все эти библиотеки, поэтому, естественно, он заработал.
Эта проблема была исправлена в более поздних версиях, software-properties-gtk
поскольку строка shebang в верхней части программы теперь гласит:
#!/usr/bin/python3
вместо #!/usr/bin/env python3
.
В последнем случае используется собственная версия python3 пользователя, тогда как в первом случае (теперь уже де-факто) используется версия python3, установленная в системе.