LINUX.ORG.RU

GUI к набору консольных команд

 ,


2

2

Посоветуйте в какую сторону копать новичку.

Есть идея написать GUI к набору консольных команд. Общий смысл: читать stdout команд и отобразить результат в GUI(treeview, gridview). Есть небольшой опыт в языке Си. Думаю использовать библиотеку GTK+.

Оптимален ли выбор инструментов? Возможно, есть более простые пути?


Ответ на: комментарий от Silerus

эти утилиты для консоли, а нужно из приложения с GUI запускать команды bash. Например, popen в Си.

mstX
() автор топика

tcl&tk,
но поверь, за все 40 лет лялекса, все поделги выходили очень и очень страдальцами в плане юзабилити.

Deleted
()

Если цель - подкачаться по программированию - велкам.
А так, поверь, всё, что нужно, уже давно написали.

Kroz ★★★★★
()
Ответ на: комментарий от madcore

Ну я же образно!

Если память не изменяет, то были раньше такие обёртки на консольные прожки. Именно что тикль/так. Мне не очень нравились.

Deleted
()

Зачем это GTK? Та Electron уже возьми да и всё.

anonymous
()

В PowerShell (5.1, шиндус) есть Out-GridView, кстати.

ls | Out-GridView
Guest_1488
()
Ответ на: комментарий от Kroz

поверь, всё, что нужно, уже давно написали.

и изобрели.

Rastafarra ★★★★
()
Ответ на: комментарий от Kroz

всё, что нужно, уже давно написали

не спорю

Если цель - подкачаться по программированию - велкам

именно

mstX
() автор топика
Ответ на: комментарий от Kroz

всё, что нужно, уже давно написали

переходи с винды на линукс, тут ещё многого нет

anonymous
()

выбор инструментов,как и постановка задачи не оптимальны вообще ни разу :-)

сделай гуй просто к выхлопу произвольной программы. Перехватить stdout, разбить на строки, строки на поля и произвольно группировать. Какой такой gtk, qt? они дело последнее

вы упоретесь на разборе строк (они везде разные),буферизации, больших файлах и сортировках/группировках

и да (выше сказали), tk для такого GUI за глаза..

MKuznetsov ★★★★★
()
Ответ на: комментарий от loz

предлагаемое по ссылке ещё хуже

anonymous
()
Ответ на: комментарий от MKuznetsov

сделай гуй просто к выхлопу произвольной программы

у меня задача попроще будет, набор команд фиксирован и выхлоп стандартизирован.

tk для такого GUI за глаза

про tk не раз читал так себе отзывы, выше опять написали:

все поделги выходили очень и очень страдальцами в плане юзабилити

но почитать подробнее по tk не против, если поделитесь дельными ссылками)

mstX
() автор топика
Ответ на: комментарий от MKuznetsov

гуй просто к выхлопу произвольной программы

Терминал? Он же гуй. Интерактивный. И выхлоп показывает.

deep-purple ★★★★★
()
Ответ на: комментарий от mstX

да да тащить в зависимости тулкиты для вывода консольных команд - это очень модно... можешь сразу забить на эту затею.

sqq
()
Последнее исправление: sqq (всего исправлений: 1)

Вспоминаю GUI к DHCPd, лучше бы его не писали вообще. Потому что подобное ПО нужно изначально писать по типу NetworkManager - вот есть консольная часть и 100% возможностей поддерживается из консоли, но есть и GUI.

Вот так и надо было бы делать софт для Linux - есть 100% консольная часть полноценная, но в комплекте идет GUI с поддержкой 100% возможностей консоли, и этим GUI пользуются и помнят что такое юзабилити.

Не стоит пытаться исправлять недостаток у существующего ПО. Лучше делай своё и помни о моих заветахэ

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от mstX

Последнее что я читал про Тк - Р.Петерсен Линукс полное руководство :-) 1998г.

Просто идея понятна, в дальнейшем я встречал похожие утилиты. Возможно они были в составе RH 5.2-6++, поэтому и вспомнился ужос.

Но сам смысл в том, что если современный погроммист собирается что-то писать на долгие годы, то, ИМХО, ГУЙ обязателен и тчк.
Натарчивание на несистемные утилиты консоли - непозволительная роскошь сегодня, когда всё меняется с каждым релизом.

Увы..

Deleted
()
Ответ на: комментарий от I-Love-Microsoft

Идея хорошая, но уже поздно.
Программы устаревают быстрее,чем мысли погроммистов их написавших.

Deleted
()
Ответ на: комментарий от Deleted

А вирусная идиотия скоростной гонки за версиями приводит к тому, что сам аффтар может и не помнить откуда опции у его поделия взялись и что делают.

Deleted
()
Последнее исправление: RTP (всего исправлений: 1)
Ответ на: комментарий от Deleted

Хотя пример противоположной идиотии с ГУИ - Вэб конфигуратор Самбы. Тоже так себе подход.

Deleted
()
Ответ на: комментарий от Deleted

Добавить механизм контроля за опциями - это вполне реально. Веб-конфигуратор - вещь хорошая, только это должно быть поверх чисто консольного механизма или чисто текстовых конфигов. Вебня должна идти в помощь, а не вместо.

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Тем не менее производители роутеров как-то выкрутились и с soho девайсами всё в полном порядке. Я про webGUI для роутеров, для неподготовленного пользователя всё относительно прозрачно.

Deleted
()
Ответ на: комментарий от I-Love-Microsoft

Это идея очень правильная. Тут необходимо продумать GUI, что бы он не просто «был», но и был функционален. Никому не нужна менюшка с мильёном опций ffmpeg-a или find-а. NetworkManager кстати хороший пример.

Deleted
()
Ответ на: комментарий от Deleted

с мильёном опций ffmpeg-a

Это легко кстати, добавить пояснение каждой опции в попап, контролы разного типа, сгруппировать по назначению и в табы. Чтобы полученную команду можно было потом скопировать и использовать как надо. Ну и потом, время удобней с превьюшкой выбирать. Странно, что до сих пор не сделали.

anonymous
()
Ответ на: комментарий от anonymous

Ну там еще нюансы. Иногда важен порядок, иногда можно дублировать опции. Нужно ставить гарды - когда одна опция исключает другую (другие). Ведь мы гуй пишем не для того, что бы потом из-под отладочной консоли смотреть на 'Option not found' в любом мало-мальско нетривиальном случае. Опять же, группировка должна быть, но нетривиально по какому признаку. Это надо заниматься, исследовать, самому задрочить этот ffmpeg. А когда все это разузнаешь - поймешь, что лучше старого доброго CLI нет ничего :)

Deleted
()
Ответ на: комментарий от Deleted

что лучше старого доброго CLI нет ничего

Плюсую. Кстати, по запросу ffmpeg gui много разных софтинок гуглится.

Deleted
()
Ответ на: комментарий от loz

Это далеко не так, терминал все еще убожество с 70х, а не нормальная среда, попытки пофиксить предпринимаются регулярно, например https://acko.net/blog/on-termkit/

Прочитал большую часть. Написанное в статье - обыкновенная тоска по свистоперделкам адепта Apple. Практическая польза стремится к нулю. Потому и не делают (а то, что сделано - не используют).

Kroz ★★★★★
()
Последнее исправление: Kroz (всего исправлений: 1)
Ответ на: комментарий от Deleted

Есть одна софтина, которая реализует этот подход на все 200% - это Mercurial+TortoiseHg = супер простая консольная версия и кроссплатформенный GUI с поддержкой 100% возможностей консоли. Просто не нарадуюсь. По служебным и прочим необходимостям пользуюсь git, знаю о чем говорю, и есть с чем сравнить. Мой любимый меркуриальчик лучше всех.

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от sqq

Если бы они были реально полезны, их бы часто и регулярно упоминали. Как, например, zenmap или wireshark. Предлагаю сравнить их сложность и всяких wpa_gui и ffmpeg gui.

Множество кривософта, призванного добавить простой ГУЙ для системных вещей, лежит сейчас в gnome-extensions или сделано на электроне. Анонсы частенько где-то пробегают. Но всё это такое недоделанное, и к этому теряют интерес сами авторы.

Deleted
()

Если С и ГТК, смотри в сторону glib. Запускаешь консольное приложение через g_spawn-функции, парсишь регэкспами, выводишь в гуй. Всё средствами gtk/glib.

meliafaro ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

О, там же hg workbench - всех рвет, 200%. Он еще не сдох кстати? :) (надеюсь, что нет). Хорошая вещь. Наверно, единственная хорошая, связанная с hg :)

Все гуёвины для гита - просто эталон маразма. Ну просто ВСЕ. И это довольно забавно, особенно когда начинаешь о причинах задумываться. Но ведь даже эта (забыл название), под макОС гуя для гита, даже она дебильная.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

я и говорю что gui к консольным утилитатам нафиг не нужен, а тут тoварищи еще тулкиты к этим gui выбирают

sqq
()
Ответ на: комментарий от Deleted

Вообще не понимаю, как гитом из гуя пользоваться, кроме нескольких самых типовых действий.

meliafaro ★★★★★
()
Ответ на: комментарий от Deleted

современный погроммист собирается что-то писать на долгие годы, то, ИМХО, ГУЙ обязателен и тчк.

наоборот - требования к гуйне с годами меняются и приходится почти всё с нуля переписывать, поэтому консоль надёжнее

anonymous
()
Ответ на: комментарий от sqq

тут тoварищи еще тулкиты к этим gui выбирают

Ага, я не вмешиваюсь. По-сути, то что мы обсуждаем - это оффтоп, а выбор тулкитов - это по теме. Поэтому надо знать своё место :))

Deleted
()
Ответ на: комментарий от anonymous

Вово, практически все приложения с графическим режимом доставляют мне дискомфорт (во всяком случае те, где мне нужна пакетная обработка). У венды вон даже drag&drop в файловых диалогах не работает до сих пор - о каком уж юзабилити тут говорить? Часы тратишь на хождение по диалогам.

anonymous
()
Ответ на: комментарий от anonymous

Чем оно лучше? Обычный терминал с показом картинок. Я его даже использовать пытался, падает через раз. И да, моя ссылка 7+ нет назад.

loz ★★★★★
()
Ответ на: комментарий от Kroz

Практическая польза стремится к нулю

Расскажешь как ты это вычислил?

Потому и не делают

Потому что Крозу не понравилось?

loz ★★★★★
()
Ответ на: комментарий от Deleted

Натарчивание на несистемные утилиты консоли - непозволительная роскошь сегодня, когда всё меняется с каждым релизом.

А можно конкретнее, что и где меняется с каждым релизом?

xaizek ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.