@Sasha_88

В unix все действия в gui интерфейсе фактически вызывают какую-то команду консоли?

Где-то наткнулся на иностранном сайте про это. Читал через транслейтер, он плохо перевел, но впринципе понял о чем там написано. Так вот это правда? Просто я пример знаю подобный. В программе Maya - это программа для 3D графики, есть встроенный язык сценариев mel , ядро этой программы посути только эти команды и принимает. То есть когда в интерфейсе что-то делаешь, используя интерактивные инструменты например создаешь модель, передвигаешь или редактируешь ее, то это оказывается просто команды с параметрами. Можно открыть редактор скриптов и там будет список что именно делалось, но в текстовом виде. Можно даже скопировать текст и запустить скрипт заново и он повторит последовательность. Даже сам графический интерфейс написан на mel и его тоже можно менять. Вот, а в linux ? Можно ли так же? Или все таки gui программа и консольный вариант это разные веши и можно было бы только сказать, что они используют один api?
  • Вопрос задан
  • 1109 просмотров
Пригласить эксперта
Ответы на вопрос 3
gbg
@gbg Куратор тега Linux
Любые ответы на любые вопросы
Нет, не все.
Ответ написан
Комментировать
jamakasi666
@jamakasi666 Куратор тега Linux
Просто IT'шник.
Вы немного перепутали понятия. mel в майке это самый настоящий интерпретируемый ЯП, аналогично lua\js\python и еще тьмы языков.
Касательно линуксов то и тут все просто. Сама программа может иметь разные "слои", если утрировать:
1) сама программа может быть на любом языке, возьмем к примеру ifconfig.
2) вокруг программы могут быть скриптовые обвертки на других языках или таких же. К примеру скрипт /etc/sysconfig/network-scripts/ifcfg-Auto_eth1 который грубо говоря запускает ifconfig с заданными параметрами.
3) оболочка также может быть написана на чем угодно и ,к примеру, может тупо генерировать /etc/sysconfig/network-scripts/ifcfg-Auto_eth1 или напрямую запускать ifconfig с нужными параметрами. Но никто не запрещает реализовать аналогичный функционал как в ifconfig и быть полностью самостоятельной.

Выше сказанное просто пример причем несовсем корректный и написан просто для примера как это может быть.

В windows программах ситуация полностью аналогичная только там с\вместо прослойки со скриптами может использоваться реестр\конфиги\wmi и т.д.
Поэтому дать однозначный ответ да\нет дать нельзя, все зависит от функционала программы и то как его реализовали.
Ответ написан
saboteur_kiev
@saboteur_kiev Куратор тега Linux
software engineer
В линуксе, гуишные программы могут в принципе использовать exec консольных команд вместо "API", поскольку удобных консольных команд, которые работают достаточно стабильно из версии в версию, по сравнению с Win много.

Но обычно все-таки используют просто вызов системных функций напрямую - так и быстрее и надежнее.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы