Bug 18483 - Ошибка вызова kdesu
Summary: Ошибка вызова kdesu
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: kde4base-runtime (show other bugs)
Version: unstable
Hardware: all Linux
: P2 normal
Assignee: Sergey V Turchin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-01-11 17:30 MSK by Andrey Cherepanov
Modified: 2009-01-12 19:54 MSK (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrey Cherepanov 2009-01-11 17:30:57 MSK
При запуске /usr/lib/kde4/libexec/kdesu kcmshell4 kdm
Пишет: su вернул ошибку. Пароля не запрашивает.

Вопросы:
1. Почему /usr/lib/kde4/libexec нет в $PATH?
2. Когда kdesu будет работающим?
Comment 1 Andrey Rahmatullin 2009-01-11 17:51:42 MSK
1. Наверное, потому, что там уже есть bin, а libexec тем от него и отличается?
Другой вопрос, почему kdesu не предназначен для вызова юзером.
Comment 2 Sergey V Turchin 2009-01-11 18:32:27 MSK
(In reply to comment #1)
> Другой вопрос, почему kdesu не предназначен для вызова юзером.
Не знаю, но через правильно созданный desktop-файл должно работать
Comment 3 Andrey Cherepanov 2009-01-11 18:58:19 MSK
(In reply to comment #2)
> Не знаю, но через правильно созданный desktop-файл должно работать
desktop-файл для запуска приложения? В KDE3 можно было запустить из командной строки 
kdesu kcmshell kdm — и всё работало.
Теперь:
/usr/lib/kde4/libexec/kdesu kcmshell4 kdm — не работает.
Говорят, что в других дистрибутивах работает.
 

Comment 4 Andrey Rahmatullin 2009-01-11 19:52:32 MSK
18904 execve("/bin/su", ["/bin/su", "root", "-c", "/usr/lib/kde4/libexec/kdesu_stub", "-"], [/* 69 vars */]) = 0
18904 write(2, "usage: su [-|-l] [-c \"command\"] "..., 56) = 56

Кто ж так su пускает.

$ su root -c /usr/lib/kde4/libexec/kdesu_stub -
usage: su [-|-l] [-c "command"] [-s "shell"] [username]
zsh: exit 1     su root -c /usr/lib/kde4/libexec/kdesu_stub -
Comment 5 Andrey Rahmatullin 2009-01-11 19:55:05 MSK
http://api.kde.org/4.0-api/kdelibs-apidocs/kdesu/html/su_8cpp-source.html
Бред какой-то, либо не для нашего su.
Comment 6 Andrey Rahmatullin 2009-01-11 19:56:15 MSK
Да, в дебиане такой вызов su не ругается.
Comment 7 Andrey Rahmatullin 2009-01-11 19:57:18 MSK
Более того, там When - is used, it must be specified as the last su option. 
Перевешиваем на su?
Comment 8 Sergey V Turchin 2009-01-11 20:37:14 MSK
Поспешил с ответом. Я думал, что оно вообще работает.
В KDE3 у меня хак: убрана опция -l, из-за которой закрывается TTY для передачи данных kdesu_stub
Comment 9 Sergey V Turchin 2009-01-11 20:37:50 MSK
видимо, та же проблема
Comment 10 Sergey V Turchin 2009-01-11 20:38:44 MSK
(In reply to comment #5)
> не для нашего su.
Да
Comment 11 Sergey V Turchin 2009-01-12 15:55:52 MSK
Теперь работает так же, как в KDE3
kde4libs-4.1.3-alt2
Comment 12 Andrey Cherepanov 2009-01-12 19:21:28 MSK
В $PATH kdesu есть?
Comment 13 Sergey V Turchin 2009-01-12 19:35:11 MSK
(In reply to comment #12)
> В $PATH kdesu есть?
Комментарий #2
Comment 14 Andrey Cherepanov 2009-01-12 19:44:18 MSK
Вот у меня и вопрос: можешь ли переместить kdesu в kde4bin?
Почему KDEшники туда засунули — и для меня загадка, так как это резко снижает гибкость.
Comment 15 Sergey V Turchin 2009-01-12 19:54:22 MSK
(In reply to comment #14)
> Вот у меня и вопрос: можешь ли переместить kdesu в kde4bin?
Не хочу искать места его запуска, которые завязаны на каталог libexec, указанный при сборке
> Почему KDEшники туда засунули — и для меня загадка, так как это резко снижает
> гибкость.
В скриптах можно `kde4-config --path libexec`
В терминале, наоборот, лучше `su -l`, т.к. для kdesu '-l' приходиться убирать