Аналог функции FindExecutable в Linux

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

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

mktcrt
незнакомец
Сообщения: 8
Зарегистрирован: 27.02.2010 21:55:09

Сообщение mktcrt »

Это издержки того, что я недавно начал осваивать Linux.
В Linux надо говорить приложение с GUI или без, так я понимаю.
А все-таки Dolphin, например, без всякого диалога запускает программу, причем так как нужно (в терминале или без).
Аватара пользователя
Brainenjii
энтузиаст
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

Сообщение Brainenjii »

//Можете ещё попробовать

Код: Выделить всё

{$IFDEF unix}
  unix,
{$ENDIF}
...
{$IFDEF unix}
  Shell('/path/to/bin');
{$ENDIF}
...

Блин, что-то в этой теме вообще не читаю то что выше >_<
Последний раз редактировалось Brainenjii 03.03.2010 15:21:52, всего редактировалось 1 раз.
mktcrt
незнакомец
Сообщения: 8
Зарегистрирован: 27.02.2010 21:55:09

Сообщение mktcrt »

Brainenjii писал(а):{$IFDEF unix}
Shell('/path/to/bin');
{$ENDIF}
...
[/code]

Вот это не понял.
Что значит /path/to/bin, а имя исполняемого файла где использовать?
Аватара пользователя
Brainenjii
энтузиаст
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

Сообщение Brainenjii »

/path/to/bin - это и есть имя Вашего исполняемого файла. Если Вы уже в папке, где лежит этот файл, то будет './bin'; где bin - нужный файл
//15 сообщений осталось ^_^
Аватара пользователя
coyot.rush
постоялец
Сообщения: 309
Зарегистрирован: 14.08.2009 08:59:48

Сообщение coyot.rush »

Смотри http://www.freepascal.ru/forum/viewtopic.php?f=11&t=5356 и http://www.freepascal.ru/forum/viewtopic.php?f=1&t=5419

Добавлено спустя 6 минут 50 секунд:
perlpunk 03.03.2010 15:45:51
mktcrt писал(а):
Существует ли какой-нибудь параметр, не открывающий терминал, если это программа с GUI?
Или можно ли программно определить какой это исполняемый файл, т.е. консольное или графическое?

Вы неправильно понимаете некоторые базовые вещи. В linux нет такого понятия "консольное приложение".
Любая программа, с GUI или без, может что-то писать в стандартный вывод (STDIN) и читать из ввода (STDOUT).
А эмулятор терминала (это тоже графическое приложение хотя и выводит текст) работает с этими потоками ввода-вывода, выводит на экран то что выдала программа.

Можно просто выдавать диалог - запускать в терминале или просто запустить. К примеру в Ubuntu в файловом менеджере Nautilus при попытке запустить исполняемый файл выдается подобный диалог выбора



Теория верна, но в Linux есть возможность создовать псевдо терминалы :!: и одновременно запускать приложение
Аватара пользователя
AbakAngelSoft
постоялец
Сообщения: 273
Зарегистрирован: 06.08.2008 19:28:26
Откуда: Краснодар
Контактная информация:

Сообщение AbakAngelSoft »

Я предполагаю что дельфин создает невидимый терминал для каждого запущенного приложения и если приложение что-то туда выводит показывает его.
А если приложение создало окно то не показывает даже если оно выводит.
Например лазарь зачем-то очень много всего в вывод пишет - можно посмотреть запустив его в терминале.
Mr.Smart
долгожитель
Сообщения: 1796
Зарегистрирован: 29.03.2008 00:01:11
Откуда: из леса!

Сообщение Mr.Smart »

AbakAngelSoft это не Delphi создаёт, а сама Windows :wink:
Аватара пользователя
AbakAngelSoft
постоялец
Сообщения: 273
Зарегистрирован: 06.08.2008 19:28:26
Откуда: Краснодар
Контактная информация:

Сообщение AbakAngelSoft »

Mr.Smart писал(а):AbakAngelSoft это не Delphi создаёт, а сама Windows :wink:

Дельфин это файловый менеджер под linux.
Я комментировал сообщение
mktcrt писал(а):Dolphin, например, без всякого диалога запускает программу, причем так как нужно (в терминале или без).

:)
Mr.Smart
долгожитель
Сообщения: 1796
Зарегистрирован: 29.03.2008 00:01:11
Откуда: из леса!

Сообщение Mr.Smart »

AbakAngelSoft извиняюсь, как всегда не дочитал слово :oops:
Ответить