Странности с gtk при запуске не из-под root [решено]

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
Владимир
постоялец
Сообщения: 355
Зарегистрирован: 23.08.2007 19:48:39
Откуда: Москва

Странности с gtk при запуске не из-под root [решено]

Сообщение Владимир »

Всем доброго!
Есть приложение, все работало, пока пользователь был root. Для запуска приложения не из-под root установлен бит-s - при запуске выдается ошибка типа GTK не поддерживает изменения прав. Мысли есть?
Последний раз редактировалось Владимир 06.01.2012 20:46:52, всего редактировалось 1 раз.
Padre_Mortius
энтузиаст
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Сообщение Padre_Mortius »

выставить права из-под пользователя root
Владимир
постоялец
Сообщения: 355
Зарегистрирован: 23.08.2007 19:48:39
Откуда: Москва

Сообщение Владимир »

Так и сделано.
Аватара пользователя
WAYFARER
энтузиаст
Сообщения: 567
Зарегистрирован: 09.10.2009 00:00:04
Откуда: г. Курган

Сообщение WAYFARER »

Возможно проблема в правах на файлы, которые использует программа? Или программа производит какие либо действия в системе, которые требуют повышения привилегий?
Аватара пользователя
dunin
энтузиаст
Сообщения: 634
Зарегистрирован: 02.05.2007 13:18:11
Откуда: Тољя††и
Контактная информация:

Сообщение dunin »

Владимир писал(а):Всем доброго!
... Мысли есть?

Перекомпилировать приложение не из под рута?
Владимир
постоялец
Сообщения: 355
Зарегистрирован: 23.08.2007 19:48:39
Откуда: Москва

Сообщение Владимир »

WAYFARER писал(а):Или программа производит какие либо действия в системе, которые требуют повышения привилегий?

Убрал бит-s, с правами на используемые файлы разобрался, заработало, но валится на работе с разделяемой памятью.
Вопрос теперь такой - может ли не-root писать-читать в/из разделяемой памяти?
Аватара пользователя
WAYFARER
энтузиаст
Сообщения: 567
Зарегистрирован: 09.10.2009 00:00:04
Откуда: г. Курган

Сообщение WAYFARER »

Владимир, тогда надо бы пример, возможно лезете туда, куда нельзя))
Хотя самый простой вариант использовать sudo/gksu для запуска программы.
Владимир
постоялец
Сообщения: 355
Зарегистрирован: 23.08.2007 19:48:39
Откуда: Москва

Сообщение Владимир »

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 для запуска программы - что это есть?
Аватара пользователя
WAYFARER
энтузиаст
Сообщения: 567
Зарегистрирован: 09.10.2009 00:00:04
Откуда: г. Курган

Сообщение WAYFARER »

Владимир писал(а):Поясните про sudo/gksu для запуска программы - что это есть?

http://ru.wikipedia.org/wiki/Sudo

gksu -- это графическая оболочка (Gtk+) для /bin/su. Она поддерживает регистрационные интерпретаторы и сохраняет окружение при работе в качестве оболочки su. Она полезна для элементов меню или других графических программ, которым требуется спросить пользовательский пароль, чтобы запустить другую программу от имени другого пользователя.
Владимир
постоялец
Сообщения: 355
Зарегистрирован: 23.08.2007 19:48:39
Откуда: Москва

Сообщение Владимир »

sudo помогло! Спасибо, закрываем тему.
Ответить