Странности с gtk при запуске не из-под root [решено]
Модератор: Модераторы
Странности с gtk при запуске не из-под root [решено]
Всем доброго!
Есть приложение, все работало, пока пользователь был root. Для запуска приложения не из-под root установлен бит-s - при запуске выдается ошибка типа GTK не поддерживает изменения прав. Мысли есть?
Есть приложение, все работало, пока пользователь был root. Для запуска приложения не из-под root установлен бит-s - при запуске выдается ошибка типа GTK не поддерживает изменения прав. Мысли есть?
Последний раз редактировалось Владимир 06.01.2012 20:46:52, всего редактировалось 1 раз.
-
Padre_Mortius
- энтузиаст
- Сообщения: 1265
- Зарегистрирован: 29.05.2007 17:38:07
- Откуда: Спб
выставить права из-под пользователя root
Так и сделано.
Возможно проблема в правах на файлы, которые использует программа? Или программа производит какие либо действия в системе, которые требуют повышения привилегий?
WAYFARER писал(а):Или программа производит какие либо действия в системе, которые требуют повышения привилегий?
Убрал бит-s, с правами на используемые файлы разобрался, заработало, но валится на работе с разделяемой памятью.
Вопрос теперь такой - может ли не-root писать-читать в/из разделяемой памяти?
Владимир, тогда надо бы пример, возможно лезете туда, куда нельзя))
Хотя самый простой вариант использовать sudo/gksu для запуска программы.
Хотя самый простой вариант использовать sudo/gksu для запуска программы.
WAYFARER писал(а):тогда надо бы пример, возможно лезете туда, куда нельзя
Код: Выделить всё
var
FShmId:Integer;
FOwnShm:Boolean;//есть-нет общая память
FSharePtr:Pointer;
FReciv:PDate;
.................................
procedure Init;
var
s:AnsiString;
Key:Integer;
begin
s:='/etc/fstab';
Key:=ftok(PChar(s),97);
FShmId:=shmget(key,0,0);
if FShmId=-1 then
FOwnShm:=False
else FOwnShm:=True;
if FOwnShm then begin
FSharePtr:=shmat(FShmId,nil,0);
FReciv:=PDate(FSharePtr);
end else FSharePtr:=nil;
end;Похоже, здесь валится.
Поясните про sudo/gksu для запуска программы - что это есть?
Владимир писал(а):Поясните про sudo/gksu для запуска программы - что это есть?
http://ru.wikipedia.org/wiki/Sudo
gksu -- это графическая оболочка (Gtk+) для /bin/su. Она поддерживает регистрационные интерпретаторы и сохраняет окружение при работе в качестве оболочки su. Она полезна для элементов меню или других графических программ, которым требуется спросить пользовательский пароль, чтобы запустить другую программу от имени другого пользователя.
sudo помогло! Спасибо, закрываем тему.
