LINUX.ORG.RU
ФорумTalks

GNOME против Unix-way

 , , , ,


2

3

Доброго дня вам, ЛОРчане!

Что такое этот мифический «Unix-way»? Вероятно, однозначно на этот вопрос не ответит никто, т.к. каждый понимает под данным термином что-то своё, и определение не имеет чётких границ. Поэтому для установления общего базиса в данной теме предлагаю заглянуть в Wikipedia. Кроме трёх базовых понятий о программах делающих что-то одно, работающих вместе и использующих текст (Malcolm Douglas McIlroy), там есть такие мысли, как:

  • «Избегайте пользовательских интерфейсов, ограничивающих возможности пользователя по взаимодействию с системой» - Mike Gancarz
  • «Позвольте пользователю настраивать окружение» - Mike Gancarz
  • «Правило прозрачности: Разрабатывайте прозрачные программы для облегчения последующего пересмотра и отладки» - Eric S. Raymond


С настраиваемостью и GNOME, думаю, давно всё понятно. Разработчики явно решили, что многообразие опций напугает пользователя. А что с прозрачностью? На мой взгляд, неоспоримым преимуществом систем GNU/Linux по сравнению с Windows и macOS является то, что в случае поломки пользователь может разобраться в её причинах прямо здесь, на месте. Либо, если ему интересно, может узнать что и как устроено внутри. Пользователь GNU/Linux в праве ожидать от программ ясных и подробных логов, тогда как в Windows чаще можно увидеть «Произошла ошибка 0xBADS0F1. Обратитесь к системному администратору». Я уже как-то писал на ЛОРе, что GNOME развивается в сторону от прозрачности системы. Проблема заключалась в отображении грустного смайлика (выглядит это вот так) вместо нормального сообщения об ошибке, и это сообщение показывал не «обновлятор» Ubuntu, а GNOME. Самое стрёмное тут это невозможность отказаться от завершения сеанса. Т.е. другие программы могут вполне работать, но поверх их висит окно, которое блокирует весь ввод. Я сам так же попадал в подобную ситуацию, когда пользовался QEMU. При том не было даже никакой ошибки, просто QEMU захватил ввод, я решил переключиться на другую виртуальную консоль (Ctrl+Alt+F3) и обратно, а GNOME почему-то решил, что ему стало плохо. После этого я с воплями убежал на KDE. Это было не единственным примером, а скорее, последней каплей. До этого я ещё стойко терпел выпиливания функционала. Достаточно сравнить диалоги выбора файлов в GNOME и KDE - вполне наглядный пример.

И вот, некоторое время назад мне опять понадобилось писать ПО с использованием GTK. К слову, к самому GTK я пока отношусь положительно. Достаточно неплохой тулкит, нормальная идея с GObject introspection и привязками к другим языкам. Хотя уже закрадываются сомнения... Раньше я уже использовал Glade, чтобы нарисовать интерфейс. Местами плевался от него, но в целом ничего. А сейчас решил попробовать GNOME Builder. Запустил, открыл в нём пример приложения (одна из причин зачем ставил - потыкать разные примеры в одном месте, а не собирать их по GitHub, документация разработчика для GTK как-то не очень). Builder попросил поставить некоторые SDK. По названиям я предполагаю, что это делается через Flatpak. Хотя не факт. В общем, у него это не получилось. Да, ошибки в ПО встречаются, этого не избежать. Где нормальное сообщение об ошибке? Почему вместо него вот это. Конечно, я нагуглю и разберусь, что там случилось. Но, почему? Это ведь уже не текстовый редактор, где «важно» (хотя на самом деле не важно и даже вредно, пользователь должен знать) не напугать неподготовленного пользователя обилием опций и сообщениями с подробностями. Это IDE для разработчика. Всё, что тут можно сделать - нажать на кнопку, которая убирает пункт из списка. Зато есть удобное меню-гамбургер, а там есть пункт «Generate support log». Ура? Нет, это было бы слишком просто. В логе нет ничего по теме ошибки. В окне с «Failed to install» даже текст нельзя выделись и скопировать. Казалось бы, при разработке интерфейса надо просто поставить галочку «Selectable». Мелочь, но сколько раздражения доставляет. Вообще, что мешало в интерфейс выдать сразу какую-то внутреннюю ошибку? Ведь она там есть. Место закончилось или прав не хватило? Запустить Builder через sudo? Или что? Хоть бы errno показывали...

По итогу всего написанного выше, вангую, из GNOME побегут не только пользователи, которых лишили опций и настроек, но и разработчики сторонних приложений, т.к. создатели GNOME из нормальной среды времён второй версии устроили какой-то мирок с розовыми очками, где только они сами и могут обитать.

★★★★

Что такое этот мифический «Unix-way»? Вероятно, однозначно на этот вопрос не ответит никто

Я отвечу. Unix-way – это pipe. Вывод одной программы передается на вход другой программы и так до бесконечности человеческая_многоножка.mp4. Соответственно программы должны быть дружественны к этому подходу. Все остальное – чушь. Люди, пытающиеся найти Unix-way в GUI много смех, просто идиоты, которые не понимают о чем вообще говорят.

Портянку, разумеется, не читал.

Im_not_a_robot ★★★★★ ()

Я уже как-то писал на ЛОРе, что GNOME развивается в сторону от прозрачности системы. Проблема заключалась в отображении грустного смайлика

Логи у тебя никто не отбирает, так что не вопи.

А стиль графических приложений по дедовски в линуксе - это просто упасть или встать раком. Вывалить что-то вменяемое в ГУЙ - это трудная, да и мало осмысленная задача.

fornlr ★★★★★ ()
Последнее исправление: fornlr (всего исправлений: 3)

GNOME 3 вышел в 2011 году. Уж за 10 лет мог бы и переучиться.

И, как видишь, спустя 10 лет ничего страшного не случилось: как был 1%, так и остался.

DoctorSinus ★★★★★ ()

С настраиваемостью и GNOME, думаю, давно всё понятно.

Конечно. Благодаря расширениям он невероятно настраиваем.

По итогу всего написанного выше, вангую, из GNOME побегут не только пользователи, которых лишили опций и настроек, но и разработчики сторонних приложений, т.к. создатели GNOME из нормальной среды времён второй версии устроили какой-то мирок с розовыми очками, где только они сами и могут обитать.

Карл, гном3 вышел 10 лет назад. И ничего не случилось потому что на самом деле всем плевать.

Polugnom ★★★★★ ()

Ждём адептов гтк/гнома (если они тут ещё остались), которые профессионально объяснят тебе, что ты не профессиональный дизайнер интерфейсов, а потому не можешь критиковать их гениальные решения.

AX ★★★★★ ()

Unix Way – это когда ты яростно наяриваешь на наколенные поделки из 70х и 80х и клянёшь богом наколенные поделки 2010х и 2020х.

А GNOME3 – срань редкостная, да.

hateyoufeel ★★★★★ ()

вангую, из GNOME побегут не только пользователи

Поставь машину времени на место и прекрати постить из 2010-го. Лучше долларами закуписьбитка намайни.

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

У кого-то снова вдогонку бомбануло. Да, да, слышу эти мантры уже 10 лет, Гном обречён, люди с него бегут, дни его сочтены, все на Слаку драйвера для мышки патчить.

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

Да он по крону постит одну и ту же методичку 10 лет.

meliafaro ★★★★★ ()

Ну это не вчера началось, я перестал юзать гном аккурат с выходом третьей версии. Перешл на кеды, до сих пор устраивают. Сейчас, как я понимаю, у этих двух DE немного разные ца. У гнома - только перешедшие с винды люди, которым еще линукс учить. У кде - те, кто знает,чего хочет. Вообще, я как любитеть все делать в консольке (без wm/de), люблю qt. Программы на qt спокойной работают с linuxfb, gtk же во времена второй версии могли полукостыльно делать это через directfb, который заброшен, и к gtk3 не осталось возможности запускать эти программы без иксов. Что печально

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

Вывалить что-то вменяемое в ГУЙ - это трудная, да и мало осмысленная задача.

Пусть хотя бы будет кнопка «Закрыть это недоразумение». Зачем надо блокировать сессию? Может быть пользователь будет решать, сломалась система или он может работать дальше? Что мешает сделать ссылку на лог вида «file://»? Сложно? В какой лог вообще идти при виде «Gnome - Oops, something has gone wrong :(», тем более когда по факту ничего не сломалось?

ls-h ★★★★ ()
Последнее исправление: ls-h (всего исправлений: 1)
Ответ на: комментарий от d09

У гнома - только перешедшие с винды люди, которым еще линукс учить.

Виндоподобный WIMP - именно в KDE (по умолчанию). В GNOME с первых версий закос под макось, «мы знаем лучше» и специализды по эргономике из эпол.

token_polyak ()

Что такое этот мифический «Unix-way»?

Не важно. «О мёртвых либо хорошо, либо ничего. Unix-way мёртв и это хорошо.» ©

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

Wimp загуглить пришлось, за почти 10 лет на кедах прошло мимо. Ну да, если именно о первом визуальном впечатлении говорить, то кеды действительно больше напоминают винду,а гном мак. Просто за счет расположения панелей/кнопочек по дефолту) Надо было добавить «только перешедие с винды и мака люди», наверно

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

Пользователей винды сразу тошнит от макоподобного интерфейса. Пользователям макоси непривычно, всё похожее, но иное. Короче гном для инопланетных восьминогов.

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

Не соглашусь. Unix-way, как я понимаю, означает «программа делающая одну вещь, но делающаяя ее хорошо, ничего лишнего», такие программы пишут до сих пор

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

Короче гном для инопланетных восьминогов.

воистину)

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

Конечно. Благодаря расширениям он невероятно настраиваем.

Чем невероятно расширить диалог выбора файла? Чтобы там были не только недавние файлы, но и недавние места, например? Или чтобы preview нормально работали?

ls-h ★★★★ ()
Ответ на: комментарий от ls-h

Всё можно - смысла нет. Я вот за много лет видел этот смайлик пару раз в виртуалке.

В итоге это всё делать непонятно для кого. Красноглазый линуксоид полезет в логи, обычный пользователь (даже представим, что он может пользоваться линуксами) увидит смайлик. Все довольны.

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

Ну я оригинальный UNIX только на картинках видел, так что не могу судить. Но точно могу сказать, что встречал программы, «делающие одну вещь,и делающие ее хорошо». Ну вот mplayer хотя бы

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

У кого-то снова вдогонку бомбануло.

Так, если я ничего не понимаю, объясните мне, в чём смысл делать в IDE сообщение «Failed to install runtime»? Почему вместо него нельзя вываливать внутреннюю ошибку? Ведь она уже есть где-то внутри.

ls-h ★★★★ ()
Ответ на: комментарий от d09

mplayer - это комбайн. Видео, аудио, субтитры, ТВ, устройства видеовхода, выход через разные API, и mencoder впридачу. Юникс-вей - это демуксер | декодер видео --passthrough-аудио --passthrough-субтитров | декодер аудио --passthrough-субтитров | накладыватель субтитров | рендерер

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

Ну да, если именно о первом визуальном впечатлении говорить, то кеды действительно больше напоминают винду,а гном мак.

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

hateyoufeel ★★★★★ ()
Ответ на: комментарий от ls-h

Ты хоть маленько можешь мыслить как программист?

Весь стек вызова показать? Это специально надо думать и обрабатывать, что бы эта ошибка нормально влезла в нужный гуй определённого размера.

В проекте на абы как это не приоритет.

UPDATE: А вообще не то… Там всё сделано по Unix Way. Ставит всё это дело отдельный процесс. Он вернул тебе код возврата не ноль - вот и выведешь, что ошибка. А обработать, чтобы все ошибки и нормально показать – это надо работать.

fornlr ★★★★★ ()
Последнее исправление: fornlr (всего исправлений: 2)
Ответ на: комментарий от token_polyak

а как видео в этой схеме из декодера в рендерер должно попадать

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

А такой вообще возможен?

latte-dock для KDE был бы очень годным, если бы не тормозил и не глючил так сильно. У меня в нём настройки сбрасываются после каждого рестарта.

hateyoufeel ★★★★★ ()

Не понимаю я всех этих срачей из-за DE. Не нравится GNOME - поставь KDE, Xfce или вообще i3, только не надо пытаться доказывать свою точку зрения тем, кому данное DE нравится. Все равно не получится, а настроение будет испорчено.

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

только не надо пытаться доказывать свою точку зрения тем, кому данное DE нравится

Гномосеки тем и занимаются, да ещё и пытаются навязать как единственно верную. (как минимум, беззащитным пользователям гнома)

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

Я вот за много лет видел этот смайлик пару раз в виртуалке

Повезло. Можно погуглить по этой фразе. Иногда у людей эта штука показывается сразу после логина. Зачем так? Это же повышает порог вхождения и понимания системы. «Please log out and try again». Что именно «try again»?

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

В какой из многих? Что сломалось?

обычный пользователь ... увидит смайлик

И скажет «В лес ваших пингвинов!». Ведь совершенно непонятно, что делать. Даже не спросить у знакомого красноглазого линуксоида. Два примера.
1:
- Привет, красноглазый друг! У меня тут написано «Пермиссион денаед. Каннот врайт ту /хоме/.....»
- Привет! Хм... Открой терминал, напиши chmod ......
2:
- Привет, красноглазый друг! У меня тут грустный смайлик.
- Ну, погрусти с ним.

ls-h ★★★★ ()
Ответ на: комментарий от ls-h

И скажет «В лес ваших пингвинов!»

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

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

Unix-way, как я понимаю, означает «программа делающая одну вещь, но делающаяя ее хорошо, ничего лишнего»

Во-первых, это одна из концепций (которых больше одной). Во-вторых, ты не догоняешь. В каноничном юниксвее программа реально должна делать только одну вещь. То есть у каноничной команды cat вообще не должно быть ключей. Потому что нумеровать строки или заменять непечатные символы — не её забота, согласно юниксвею, это должны делать ДВЕ другие команды.

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

Ну хотя бы такой как в Windows или macOS.

Т.е. вот эта толстая сосиска, ворующая драгоценное вертикальное пространство? Гномохейтеров не поймешь: то они просят компактных виджетов и заголовков, то им подавай сосиски на полэкрана.

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

Это все одно дело, просмотр видосиков. Если так раскладывать, то любая программа делает больше,чем одно дело. Даже простешие плееры дают возможность не только слушать музыку,но и создавать плейлисты. Получается, юникс-вэй это слушать музыку одной программой, генерить плейлисты другой/руками?

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

Панелькой сверху похож, я ж говорю на первый взгляд - на второй уже нет)

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

Видео, аудио, субтитры

Это одна задача, т.к. эти данные либо из одного источника, либо связанные.

ТВ, устройства видеовхода

С цифровым DVB эта тоже самое, что и декодирование «Видео, аудио, субтитры». Честно говоря, mplayer мало пользовался. Что там понимается под комбайном? Он может тарелкой крутить для лучшего приёма сигнала?

Юникс-вей - это ...

Как тут банально перематывать?

Так можно придти к выводу, что и sh это не Unix-way. А надо, чтобы было две части: одна читает ввод, другая запускает команды.

ls-h ★★★★ ()
Ответ на: комментарий от gremlin_the_red

Такие вообще еще остались? Думаю, в этом мог быть смысл в 70х-80х,слабые компы,экономия каждого киллобайта,и тд. Сейчас это просто не актуально,и тупо не удобно. Но то,что понятие юникс-вэй дожило до наших дней, о чем-то же говорит? Как по мне, и комбайн может быть юникс-вэй, если у него есть одна задача,он выполняет ее хорошо,и не делает лишнего

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

Люди, пытающиеся найти Unix-way в GUI много смех, просто идиоты, которые не понимают о чем вообще говорят.

Люто плюсую.

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

В случае mplayer юниксвей заключается в другом, mplayer консольный плеер, который делает одну задачу - играет видео, а вот гуй к нему может быть отдельной программой (например, KMPlayer), с кнопочками, диалогами, плейлистами и прочей фигнёй, при этом в качестве бэкенда у него может быть на выборо mplayer или mpv. И оба этих плеера могут рисовать видео в любой другой гуевой программе в указанное окошко.

Harald ★★★★★ ()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)