purebasic.info

PureBasic forum
Текущее время: Вт июл 17, 2018 3:17 am

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 144 ]  На страницу Пред.  1 ... 6, 7, 8, 9, 10
Автор Сообщение
 Заголовок сообщения: Re: Разные вопросы [Linux]
СообщениеДобавлено: Пн фев 08, 2016 7:18 am 
Не в сети
профессор

Зарегистрирован: Вс июн 10, 2012 8:18 am
Сообщений: 1294
Благодарил (а): 60 раз.
Поблагодарили: 49 раз.
Пункты репутации: 14
А как запустить программу от рута в RunProgram?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Разные вопросы [Linux]
СообщениеДобавлено: Вт фев 09, 2016 3:59 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Чт дек 17, 2009 4:49 pm
Сообщений: 1230
Откуда: г. Ангарск
Благодарил (а): 2 раз.
Поблагодарили: 15 раз.
Пункты репутации: 10
MrF писал(а):
А как запустить программу от рута в RunProgram?

Если у тебя убунта или производная от неё система, то пробуй так:
Код:
1
RunProgram("gksu", "gedit", GetHomeDirectory())


_________________
.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Разные вопросы [Linux]
СообщениеДобавлено: Вт фев 09, 2016 4:50 pm 
Не в сети
профессор

Зарегистрирован: Вс июн 10, 2012 8:18 am
Сообщений: 1294
Благодарил (а): 60 раз.
Поблагодарили: 49 раз.
Пункты репутации: 14
lakomet писал(а):
RunProgram("gksu", "gedit", GetHomeDirectory())

Да, так работает, спасибо. А как параметры передать? И почему RunProgram возвращает 1, для ProgramRunning это не валидный параметр?

И еще вопрос не по теме. В /proc/net/arp лежит примерно тоже самое, что выдает программа arp, но arp выдает еще имена хостов. Они где-то отдельно лежат? Или как-то по другому можно получить эти данные?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Разные вопросы [Linux]
СообщениеДобавлено: Ср фев 10, 2016 4:49 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Чт дек 17, 2009 4:49 pm
Сообщений: 1230
Откуда: г. Ангарск
Благодарил (а): 2 раз.
Поблагодарили: 15 раз.
Пункты репутации: 10
MrF писал(а):
А как параметры передать?

Код:
1
RunProgram("gksu","gedit /proc/cpuinfo", GetHomeDirectory())


MrF писал(а):
И еще вопрос не по теме. В /proc/net/arp лежит примерно тоже самое, что выдает программа arp, но arp выдает еще имена хостов. Они где-то отдельно лежат? Или как-то по другому можно получить эти данные?

Могу ошибаться, но в /proc/net/arp лежит кэш(таблица), который создаёт программа arp, а то, что она выдаёт запустившей её программе, может и отличаться наверное.
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Program = RunProgram("gksu","arp", "", #PB_Program_Open | #PB_Program_Read)
Output$ = ""
If Program
  While ProgramRunning(Program)
    If AvailableProgramOutput(Program)
      Output$ + ReadProgramString(Program) + Chr(13)
    EndIf
  Wend
  Output$ + Chr(13) + Chr(13)
  Output$ + "Exitcode: " + Str(ProgramExitCode(Program))
  CloseProgram(Program)
EndIf
 
MessageRequester("Output", Output$)


_________________
.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Разные вопросы [Linux]
СообщениеДобавлено: Ср фев 10, 2016 5:39 pm 
Не в сети
профессор

Зарегистрирован: Вс июн 10, 2012 8:18 am
Сообщений: 1294
Благодарил (а): 60 раз.
Поблагодарили: 49 раз.
Пункты репутации: 14
lakomet писал(а):
RunProgram("gksu","gedit /proc/cpuinfo", GetHomeDirectory())

Да, так-то работает. Но если задать больше параметров, например
Код:
1
Program = RunProgram("gksu","ping  -c 4 -s 1500 192.168.1.1", "", #PB_Program_Open | #PB_Program_Read)


То выдает справку gksu, а если оставить один айпи адрес, то все работает как надо. Понятно, что пинг не обязательно от рута запускать, это просто как пример.

lakomet писал(а):
Могу ошибаться, но в /proc/net/arp лежит кэш(таблица), который создаёт программа arp, а то, что она выдаёт запустившей её программе, может и отличаться наверное.

Да, я пробовал так. Но хочется более кошерно сделать, через функцию какую-нибудь.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Разные вопросы [Linux]
СообщениеДобавлено: Чт фев 18, 2016 10:02 pm 
Не в сети
профессор

Зарегистрирован: Вс июн 10, 2012 8:18 am
Сообщений: 1294
Благодарил (а): 60 раз.
Поблагодарили: 49 раз.
Пункты репутации: 14
Что-то я не могу сообразить. Если создавать юникодное приложение, что импортируемые библиотеки не хотят работать, а если создавать не юникодное, то вместо кириллицы знаки вопросов.
И еще с потоками ерунда какая-то. Если вызывать из главного потока такой код(вызов из внешней библиотеки)
Код:
1
If pcap_datalink(*handle) <> #DLT_EN10MB

то все работает нормально, а если в потоке, то вылетает с ошибкой доступа к памяти.
Как это все заставить работать?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Разные вопросы [Linux]
СообщениеДобавлено: Сб фев 20, 2016 5:21 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Чт дек 17, 2009 4:49 pm
Сообщений: 1230
Откуда: г. Ангарск
Благодарил (а): 2 раз.
Поблагодарили: 15 раз.
Пункты репутации: 10
MrF писал(а):
Что-то я не могу сообразить. Если создавать юникодное приложение, что импортируемые библиотеки не хотят работать, а если создавать не юникодное, то вместо кириллицы знаки вопросов.

Приложение компиль как юникодное, а параметры, требуемые для импортируемых процедур и функций, конвертируй в аски. Сишные библиотеки, почти все в аски, хотя встречаются и UTF-ные. Тут только читать описание библиотеки или методом научного тыка :D .
По потокам не подскажу, не сталкивался.

_________________
.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Разные вопросы [Linux]
СообщениеДобавлено: Сб фев 20, 2016 7:53 pm 
Не в сети
профессор

Зарегистрирован: Вс июн 10, 2012 8:18 am
Сообщений: 1294
Благодарил (а): 60 раз.
Поблагодарили: 49 раз.
Пункты репутации: 14
Ну я так и сделал. Только мне больше непонятно, почему, если выбрать кодировку формата файла как простой текст, то кириллица не вводится. Это косяк линукса или у Фреда проблемы с ним?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Разные вопросы [Linux]
СообщениеДобавлено: Сб фев 20, 2016 9:32 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11204
Благодарил (а): 4 раз.
Поблагодарили: 421 раз.
MrF писал(а):
почему, если выбрать кодировку формата файла как простой текст, то кириллица не вводится
Потому что ascii это не utf-8.
Linux поддерживает много языков и по умолчанию для ascii там не русский.

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 144 ]  На страницу Пред.  1 ... 6, 7, 8, 9, 10

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB