А что находится под графической оболочкой.
Путеводитель по краткой истории GUI в Linux.
Администрирование в Linux GUI неизбежно приводит к командной строке.
Поддержка SUID в Linux GUI — будет ли совместимость?
Сначала проверь (32bit or 64 bit), а потом запусти.
Как понять причину ошибки из пустого окна GUI?
Мониторинг с графиками и без GUI.
Linux — свободные отношения без обязательств.
А что находится под графической оболочкой.
Сейчас на волне импортозамещения везде можно услышать, что в Linux есть gui интерфейс «как в Windows», а количество gui приложений растет с каждым днем. И вообще практически все в Linux бесплатно, и пора уже снять с себя ярмо Windows, который замучал своими принудительными обновлениями. Вы же пробовали уже их отключить насовсем? Успешно?
Да удавка Windows затягивается с вводом политики WAAS (Windows as service), которую пока обкатывают на простых пользователей, но очевидно скоро доберутся до корпоративных систем, которые намертво привяжут их к облаку Microsoft.
Начинаем путешествие в Linux? Нас там ненавязчиво ждут с 1С, Postrges и еще другим офисным набором софта. Тем более с разных сторон идут утверждения типа
«Postgres на Windows — это дурной тон», «Будете ждать пока Microsoft вас отключит?»
Когда начинаешь работать с Linux на уровне администрирования, от Linux GUI возникает послевкусие как от дикого райского острова на Мальдивах. Ну да дикий бесплатный райский остров манит издалека, белым песком, пальмами — а как высадишься и зайдешь в эти пальмы, видишь горы мусора и — как будто в Строгино попал после шашлыков. Вот и приходится брать с собой мусорные мешки c дайвбота, чтобы расчистить поляну и скорей погрузиться в голубую бездну заставки Windows.
Наверняка найдутся те, кто считает администрирования GUI не нужен и даже Midnight Commander commander лишнее — долгой Вам работы с командной строкой. То, что у кого‑то «бабушка использует Linux» я охотно поверю, а вот то, что администрирование в Linux в GUI это легко и просто... покажите в каком из сотни активных дистрибутивов Linux?
Linux Distributions Timeline (wikimedia.org)
Я конечно, имею ввиду начальный уровень серверного администрирования — развертывание приложений, организация Remode desktop сервера, performance and tuning. Управление сотнями серверов и другой высший пилотаж — это уже совсем другая история
Ну раз уж путешествовать в сторону Linux (а какие сечас альтернативы для 1С?), важно после «выхода из зоны комфорта» прийти к в состояние дзена на Linux, а не в состояние «мыши плакали и кололись… и продолжали жрать …».
Вы же не переделываете горнолыжный склон под себя — Вы просто выбираете оптимальный путь. Стиль жизни может поменяться, но «рай в шалаше бунгало» подразумевает теплый тропический душ и туалет не далее 20 метров. Все зависит от начальной точки путешествия — у меня это Windows, и смотреть я конечно буду не только из «окна». Конечно, я не могу смотреть с точки зрения опытного путешественника по Linux, но посмотрев с других точек зрения можно вскрыть очень многое Сколько точек зрения у Архитектора в ИТ?
Путеводитель по краткой истории GUI в Linux
Вообще-то историю пишут победители. Кто победит в основах GUI Linux — вопрос открытый, но краткое понимание о истории GUI можно посмотреть у претендента Wayland. Особенно описание причин, почему они решили заменить X11 с условной обратной совместимостью. Вот пара картинок из которых появится общее понимание
Я еще помню, как учился в университете на машинах с X Window в середине 90х. Да там был GUI на основе X11 протокола, однако что–то пошло не так и на текущий момент мы имеем примерно такую ситуацию
Pekka Paalanen: What does EGL do in the Wayland stack (ppaalanen.blogspot.com)
Ответ на вопрос — «Почему Linux с GUI так и не стал конкурентом c Windows?» кроется в отношениях communitу, а в этих отношениях там «все сложно».
Если хотите понять в каком месте находится GUI в Linux — достаточно посмотреть набор стандартов Linux Standard Base LSB Specifications (linuxfoundation.org). Старый X11 Linux Standard Base Desktop Specification, Generic Part (linuxfoundation.org) он считается стандартом, но на текущий момент не удовлетворяет сообщество разработчиков (см ссылки выше)
По факту альтернативы Linux Standard Base Trial Use Specification (linuxfoundation.org) на уровне «Trial Use» с 2015 года. Да это не сковывает никого в творчестве и «души прекрасные порывы» превращаются в «многобразие и свободу выбора».
Как это работает практике — посмотрим на простых примерах ниже.
В качестве базы возьмем сервер на Oracle Linux c графической оболочкой GNOME, и Remote desktop на основе Xrdp + XVNC. Попробуем несколько простых действий в GUI
Пример 1. Установка тонкого клиента 1C с GUI инсталлятором.
Пример 2. Установка СУБД Oracle на Oracle linux, с использованием графического инсталлятора./RunInstaller и утилит типа./dbca. Они традиционно для Oracle написаны на Java.
Пример 3. Мониторинг системы средствами GUI.
Почему Oracle linux? Просто это официально бесплатный Red hat, который Oracle позиционирует как проверенный вариант для своей СУБД. Для Postgres он тоже хорош по опыту эксплуатации. т. е. я пытаюсь получить прежде всего платформу, проверенную для СУБД. Linux трудозатратен в эксплуатации (об это ниже), поэтому я предпочитаю тратить время на сервер приложений с Remote desktop (а не на рабочие станции), тогда цена усилий хотябы оптимизируется по числу пользователей.
Администрирование в Linux GUI неизбежно приводит к командной строке.
В GNOME есть аналоги проводника – Files (nautilus)
Попробуйте запустить setup-thin-8.3.23.1739-i386.run — ответ молчание.
Попробуйте запустить setup-thin-8.3.23.1739-x86_64.run выведется сообщения о необходимости прав root и в GUI окне.
А как в GUI запустить что то под root?
А как увидеть сообщение об ошибках если приложение ничего не пишет на экран?
Гугл и ChatGPT отправят Вас искать extensions либо gksudo. Где‑то просто рекомендуют войти в GUI под root с паролем для root, что по многим причинам плохо и именно поэтому в коммандной строке появилась команда sudo su или sudo? / Хабр (habr.com).
Вообще сразу возникает вопрос —
Почему GNOME сразу не предоставляет аналоги sudo в стиле GUI?
После Windows кажется диким, что в GUI нет из коробки «Run as administrator» и то что в Linux может быть только один пользователь с правами root. Если Вы включите своего пользователя в группы root, weels и добавите в /etc/sudoers — вы всеравно не обойдетесь без sudo. И sudo это не аналог User Account Control в windows
В общем помучавшись с GUI сразу вспомнил, что в MS DOS был всегда Norton commander, в Linux есть midnight commander (mc) — установил и получил в командной строке с «текстовым GUI».
Плюсы такого решения очевидны — быстрая навигация, просмотр, возможность sudo mc и виден поток ошибок. Например, 32 битный инсталлятор
$ ./setup-thin-8.3.23.1739-i386.run
Выдаст Вам странное, но хоть что то
bash: setup-thin-8.3.23.1739-i386.run: command not found...
и разгадку Вы сможете получить тоже через командную строку
64 х битный инсталлятор ./setup-full-8.3.23.1739-x86_64.run запустился, но не как хотелось в GUI — видимо разработчики 1С знали, что большинство не дойдут до красивой картинки и сделали вариант запуска инсталлятора через командную строку (он даже в небольшим количеством опций неудобен). Неужели нужно устанавливать пароль root и логиниться под ним в GUI?
Знакомое чувство, когда отель формально имеет звезды, но не оправдал ожиданий? Так и мне стало депрессивно от мысли, что импортозмещаться придется на технологи, c usability 25 летней давности. А когда, на последнем 1С DevCon видео инсталляции 1С сервера было полностью в командной строке, на облегченном от GUI сервере Linux, стало совсем грустно.
Поддержка SUID в Linux GUI — будет ли совместимость?
После копирования файлов дистрибутивов я конечно проверил (и поправил) права на файлы инсталлятора по маске rwx
ls -l setup*
-rwxrwxrwx 1 1CUnlimited_linux 1c 277099553 июн 4 2023 setup-thin-8.3.23.1739-i386.run
-rwxrwxrwx 1 1CUnlimited _linux 1c 279629502 июн 4 2023 setup-thin-8.3.23.1739-x86_64.run
Т.е. формально на x — execute права есть, но в Linux есть еще так называемый SUID
Linux permissions: SUID, SGID, and sticky bit | Enable Sysadmin (redhat.com)
«Commonly noted as SUID, the special permission for the user access level has a single function: A file with SUID always executes as the user who owns the file, regardless of the user passing the command. If the file owner doesn't have execute permissions, then use an uppercase S here.»
Т.е. если сделать
Sudo chown root:1c setup*
Sudo chmod ugoa=rwx setup*
А потом добавить special permission
Sudo chmod u+s setup*
Мы получим
-rwsrwxrwx 1 root 1c 277099553 июн 4 2023 setup-thin-8.3.23.1739-i386.run
-rwsrwxrwx 1 root 1c 279629502 июн 4 2023 setup-thin-8.3.23.1739-x86_64.run
В теории запуск данного файла должен быть под правами root даже если это делаем из nautilus (GUI проводник) — но по факту результата нет. GNOME это игнорирует. Такое впечатление что GNOME к правам Linux относится совершенно игнорируя традиции коммандной строки. Формально он не обязан, поскольку на это нет стандартов для Linux GUI. И вот тут приходит осознание что Windows архитектурно более стройна и прозрачна — Windows GUI отражает нижний уровень, который доступен как с коммандной строки, так и с GUI. Назвать это недоработками Linux язык не поворачивается, это какой то архитектурный треш.
В общем путешествие остановилось на развилке у того самого камня
А) На лево пойдешь — Будешь ставить до посинения extensions, gksudo и изучать надстройку политик и прав в GNOME. А если не получится тогда перебирать все имеющиеся оболочки типа KDE и etc.
Б) На право пойдешь — Будешь заходить в GUI явно под root (раздав пароль всем админам сервера). Здесь откроется ящик пандоры — ведь в Linux завести пользователя полностью эквивалентного root, можно опасным способом sudo useradd ‑ou 0 ‑g 0 1СUnlimited_linux т. е. по сути разрешив два пользователя под одним UID. Но посмотрите фатальные последствия в комментах HowTo: Grant Root Access to User — Root Privileges — Linux — ShellHacks. А безопасные (см выше включение в группы wheels и т. д. ) инсталлятор не считает рутом. В Windows например, можно спокойно создать полноценного пользователя с правами админа, с нужным именем и достаточными правами. Это интересное направление путешествия, но в тупик.
В) Прямо пойдешь — будешь ставить все из терминала через RPM используя midnight commander и подобные средства для повышения продуктивности. И будет у тебя тьма командной строки на экране.
Я для себя выбрал третье, поскольку GUI в Linux на примере GNOME, достаточно странная оболочка, которая игнорирует администраторов как пользователей. И это явно не связано с безопасностью, поскольку терминал доступен из GNOME со всеми нужными командами. Для бабушки да подойдет — запуск с ярлыка там есть, сама, как на Android, она себе приложение не поставит и хорошо. Потому что в Linux нет apk, а есть менеджеры пакетов, которые после установки требуют еще дополнительных действий ( просто прочтите полное руководство по инсталляции клиента 1С Глава 2. Установка и обновление системы:: Руководство пользователя:: 1С:Предприятие 8.3.26. Документация. Тестовая версия (1c.ru))
А управление атрибутами требует административного понимания, например, u=s будет уже неверно!!!
Sudo chmod ugo=rws setup*
ls -l setup*
-rwSrwSrw- 1 root 1c 277099553 июн 4 2023 setup-thin-8.3.23.1739-i386.run
-rwSrwSrw- 1 root 1c 279629502 июн 4 2023 setup-thin-8.3.23.1739-x86_64.run
Сначала проверь (32bit or 64 bit), а потом запусти
Выше был пример запуска $ ./setup-thin-8.3.23.1739-i386.run со странным сообщением
bash: setup-thin-8.3.23.1739-i386.run: command not found...
или No such file …
Если приложение не запускается, нужно проверить правильность команды запуска
which ./setup-thin-8.3.23.1739-i386.run
Проверить информацию о файле
stat ./setup-thin-8.3.23.1739-i386.run
File: ./setup-thin-8.3.23.1739-i386.run
Size: 277099553 Blocks: 541216 IO Block: 4096 regular file
Device: fc00h/64512d Inode: 8402463 Links: 1
Access: (0777/-rwxrwxrwx) Uid: ( 0/ root) Gid: (54331/ 1c)
Access: 2024-05-11 21:53:52.734371578 +0300
Modify: 2023-06-04 15:00:23.000000000 +0300
Change: 2024-05-11 21:53:52.733371587 +0300
Birth: 2024-05-11 21:50:15.820405079 +0300
И наконец посмотреть
file ./setup-thin-8.3.23.1739-i386.run
./setup-thin-8.3.23.1739-i386.run: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.2.5, stripped
Информацию о структуре исполняемого файла. Тут видно что он 32 битный, а у меня 64 битный linux
Hostnamectl
Virtualization: vmware
Operating System: Oracle Linux Server 8.9
CPE OS Name: cpe:/o:oracle:linux:8:9:server
Kernel: Linux 5.15.0-205.149.5.1.el8uek.x86_64
Architecture: x86-64
В Linux конечно можно запустить 32 битное приложение, вопрос только в количестве времени на установку дополнительных package.
Кроме как из командной строки подобные проблемы в GNOME не диагностировать, в
$ journalctl /usr/bin/gnome-shell
$ journalctl /usr/bin/gnome-session
$ journalctl -xe
Это не фиксируется
В Windows критические для ОС ошибки и предупреждения как правило фиксируются в Event Viewer (тоже Gui приложение).
Как понять причину ошибки из пустого окна GUI?
Однако бывают ситуации, когда для решений проблем GUI нужно идти до конца поиска в google.
Я много ставил Oracle на Windows и прочитав путеводитель Oracle для Linux был удивлен его сухостью, как будто авторы ловили кайф от тех же самых процессов на Windows. А ведь Linux — вроде как «родная» ОС для Oracle.
При инсталляции Oracle в Linux удобно развернуть rpm пакет, а потом использовать либо./runInstaller с образа либо./dbca, для создании базы с нужными параметрами. Без GUI тут тяжело, так как параметров много.
Конечно можно все сделать скриптами через SQLPlus в терминале, но лучше помучится и запустить GUI. Однако, когда появляется пустое окно — вера в чудеса возвращается.
Как будто все шрифты и контролы куда-то испарились. А ведь этот мультиплатформенный wizard на java. Правильные вопросы к google приведут к настройкам файла /etc/xrdb/xrdp.ini
«xserverbpp=<number>
Specifies color depth of the backend X server. The default is the color depth of the client. Only Xvnc and X11rdp use that setting. Xorg runs at 24 bpp.»
Этот файл отвечает за настройку подсистемы удаленного доступа Xrdp. Я использовал Xvnc+xrdp и значение по умолчанию давало такой эффект. Если поставить значение 24- все контролы и шрифты появляются.
Формально конечно виноват не стек Gui. Но когда на разнообразие вариантов стека Gui накладывается разнообразие вариантов удаленного доступа, такие проблемы просто неизбежны. Поэтому несмотря на стандарты Linux, мы имеем сотню дистрибутивов разной степени работоспособности и качества сборки.
Мониторинг с графиками и без GUI
После нескольких поездок за границу, энтузиазм притупляется и начинаются вопросы о смысле. Вот зачем ездить в Египет — где только пустыня, жара и красное море? Может проще в Турцию? Те кто смотрит глубже сразу скажут — ради красного моря. Потому что по чистоте и живности для дайвинга оно уникально, и хочется туда возвращаться снова и снова. Вот Мальдивы тоже хороши, там больше шансов поплавать безопасно с акулами, но такой чистоты и буйства жизни там нет. Иными словами место для туриста должно содержать киллерфичу, которую на родине не найти.
Какие киллерфичи может дать GUI в Linux по сравнению с коммандной строкой?
Наличие аналога Event Viewer Windows? Формально в GNOME есть Logs, но он просто повторяет journalctl без расширенной функциональности. Более того journalctl ‑system показывает разные данные если сравнить с logs раздел system.
Аналог Computer management\Server manager? — формально есть приложения GNOME для оборудования в разделе Utilities. Сразу видно, что сильно урезано особенно дисплей, но пока пойдем дальше.
GUI версии Task Scheduler, Print manager, Firewall? — Надо где‑то искать по репозиториям, не буду на этом зависать, поскольку лишнего в Linux не положат
Администрирование прав и ресурсов через GUI, что‑то аналогичное адмнистрированию домена? Ну тут вряд ли стоит ожидать что‑то из коробки, поскольку Linux не привязан в данном случае к какому‑то одному стандарту. Пропустим.
Мониторинг с графиками? Вот тут представлением в стиле команды top уже не отделаться.
Есть замечательный путеводитель Более чем 80 средств мониторинга системы Linux / Хабр (habr.com) из которой ясно, что графики нужно еще поискать.
Вообще — зачем они они нужны? Например, этих статьях показаны чудеса, которые случаются при виртуализации.
1С + MS SQL против Матрицы виртуализации / Хабр (habr.com)
1C MSSQL Против Матрицы виртуализации – Перезагрузка / Хабр (habr.com)
Если кратко — вы можете обнаружить ситуацию,когда загрузки ресурсов нет, но при этом все работает медленно — как будто кто‑то душит. А у администраторов гипервизора тоже все » в порядке» — загрузки нет, значит ресурсов навалом.
А когда начинаешь разбираться выясняется, что
Либо какой-то важный процесс работает только с одним ядром, и на него возникает очередь
Либо очереди и ожидания возникают по цепочке на разных ресурсах.
Такие головоломки решаются только анализом графиков, по счетчикам очередей и ожиданий. Ожидания и очереди могут быть как от загрузки какого ресурса (это может быть ядро, на котором висит процесс), либо от блокировок различного вида.
Если брать импортозамещение на Postgres, там тоже нужно анализировать задержки даже в таком случае
Как эффективно настроить autovacuum в Postgres для 1С
На высоконагруженных системах без виртуализации — без графиков так же сложно понять как события соотносятся друг с другом.
В Windows с этим идеально — есть
Performance monitor \ Resource monitor и это не просто несколько счетчиков, это интерфейс для всех счетчиков Windows. Поэтому я предпочитаю нагрузочные тесты Postgres гонять на Windows, там проще понять где узкие места, а уже потом проверять настройки и параметры на Linux. Здесь проверенные тестами параметры
Инструкция по установке Postgres для OLTP приложений и 1С. Часть 1 Базовая конфигурация.
В linux сложнее, в GNOME есть System monitor — но это аналог урезанного Resource Monitor windows.
А если нужно кроме загрузки ресурсов задержки (секунд на операцию), очереди на ресурсы (queue)?
Все путеводители по запросу с приставкой GUI сворачивают на утилиты командной строки.
Конечно типовой iostat ‑xt 1 будет выдавать статистику каждую секунду в тексте, а по нему наверное уже нужно строить график?
Есть еще iotop, но там урезанный набор статистики. И все они выводят данные в виде текста на момент времени
Вы можете попробовать установить с первой попытки Monitorix, но как везде в Linux если установка превращается в квест проще изменить себя перейти обратно к командной строке.
В общем для меня открытый вопрос — есть ли аналог Performance monitor (Windows) в Linux? Отдельные утилиты найти можно, но там опять не все. Пока я не понимаю, как можно серьезно использовать Linux не имея нормального GUI мониторинга. Тут четко видна разница между платной Windows и бесплатным Linux. Скорее всего среди продуктов типа Zabbix я потрачу время и найду нужное\за плату, а в платной ОС Windows средства мониторинга уже идут из коробки без лишних движений.
Ах да в Red Hat (Oracle linux) есть nmon — вроде попытка собрать все, но очередей и (секунд на операцию) Вы там не найдете.
Linux — свободные отношения без обязательств
Я думаю Вы уже поняли, что GUI в Linux для администратора это не стройная система. Ее можно сравнить с творениями Хундертвассера в Австрии. Вот такое ощущение остается от GUI Linux
И вроде бы дом соответствует всем СНИПам, аутентичен, экологичен и т. д. но есть ощущение, что творили его бессистемно и искусственно. «Я художник, я так вижу». Даже не поймешь — есть ли тут стиль, или надерганные по Австрии элементы создают иллюзию стиля.
Поэтому Linux используют все кому не лень только для того чтобы … разобрать на органы взять ядро и построить на его базе что то более user friendly. Такой путь прошел Android, который хорошо показал, что можно сделать из Linux, если отказаться от Linux way Как Unix‑way убивает десктопный Linux / Хабр (habr.com). И дело не только в GUI — обычные обновления это уже сложная для Linux тема.
В Linux много разных GUI оболочек, но для серьезной работы на уровне администратора важны не фичи или улетный дизайн, а хотя бы корректная трансляция концепций, работающих в командной строке, в оболочку GUI. Пока этого не видно. А когда почитаешь вот такие статьи Stop asking «What»s Linux»s GUI?» | by Jesse Portnoy | Medium понимаешь, что без вмешательства свыше ситуация не изменится. Такое впечатление что GUI в Linux это приманка для пользователей, а не средство эффективной работы. Если GUI не отражает архитектуру системы, это просто ярлычки с окошками и не более. А да еще набор графических утилит, а не программ администрирования. Я вообще думал, что время утилит на каждый вопрос уже ушло, но нет вот они рассыпаны по системе.
В целом складывается впечатление, что в Linux никто никому ничем не обязан (бесплатно же), а разработчики живут на донаты от заинтересованных корпораций и успешность продукта их не очень волнует.
Почему Oracle предоставляет Oracle linux бесплатно? — да чтобы иметь независимый движок для своей СУБД и продуктов, и не давать повода использовать Microsoft. Очевидно, что тут уже не до GUI.
Если сравните ситуацию с Java community — там все гораздо красивей и продуманней. И даже противостояние Spring vs базовый Java EE, только улучшает стандарты. Возможно потому что Java community делает инструмент для себя и поэтому стремится к более эффективным стандартам.
Есть в Linux GUI для администратора вот в чем вопрос?
Пока для меня он остается открытым, надеюсь бывалые путешественники подскажут, где среди сотни Linux Distributions Timeline (wikimedia.org) дистрибутивов Linux можно найти серверный, позволяющий максимально уйти от командной строки?
В России на волне санкций есть хороший шанс на базе Linux сделать какой‑то аналог MacOS. Тем более что на ИТ стали выделятся деньги, а другого выхода для серьезной работы просто нет. До новых импортозамещений на нашем канале. Лето будет жарким.
garwall
Отсюда следуют простые выводы: первое, не стоит тащить виндус-привычки на линукс. из ножовки плохой молоток, из молотка отвратительная ножовка, если позволите аналогию. второе, менее очевидное: устанавливать из ран-файла всегда не самая лучшая идея. лучше найти репозиторий с соответсвующим пакетом, или, наверное, даже лучше, контейнер.
упд: а гуй на виндоус прозрачней, но только до тех пор, когда не надо лезть в реестр, или мучать повершелл. в такие моменты (имхо) ситуация меняется на обратную
1CUnlimited Автор
Вы не замечаете очевидного. Как имея x11 ещё в 90х linux к 2024 не смог обзавестись нормальным стеком gui и остался в 90х? Причем вы считаете это нормальным писать тонны параметров вместо одного движения мышкой
Lainhard
Вы льстите винде. Справедливо другое высказывание: "писать тонны параметров вместо ралли мышкой по коврику"
CLI перед гуи имеет как преимущества, так и недостатки.
Лично для меня различия cli и gui в следующем.
Недостатки:
Больше порог входа (читай как когнитивная нагрузка) чем у GUI.
Меньше интуитивности (например когда приходится тыкать новую тулзу, с которой раньше не работал, в гуишке конечно проще)
Преимущества:
Когда мозг адаптируется, практически любые действия по администрированию будут занимать меньше времени в сравнении с gui.
Легче автоматизировать и расширять на несколько машин свои "процессы настройки", конечно в винде есть powershell, но с ним вы буквально спускаетесь на уровень линукса. (В целом спорна ценность этого пункта для офисного работника, но не сказать про него не мог)
Я уже говорил про скорость работы с cli? Гораздо легче (быстрее) сделать nano [path] чем открывать эти ваши проводники, тыкать по папочкам и все это дело потом открывать в редакторе. ( Ну или плутать в лабиринтах настроек)
Но будем реалистами, гуишечка это приятно.
1CUnlimited Автор
Как Вы графики для анализа в cli получите? Как логически структурируете параметры управляющие той или иной функциональностью? В cli на каждый чих своя утилита которая часто пересекается с другой.
Люди по восприятию делятся на аудиалов визуалов и кинестетиков и ещё выделяют дигиталов. https://b17-ru.turbopages.org/turbo/b17.ru/s/article/410565/
Вот для кого тогда cli интерфейс ? Он не для человека а для тупой операционной системы. Фактически разновидность скриптового программирования.
И если в программировании rad эволюционируют в сторону визуальных сред , то для ОС скрипты примитивны чтобы на них тратить время. Нет более важных задач,?
Lainhard
Использую gui приложеньку. Вам же говорили где-то выше не путать твердое с мокрым.
ihouser
Ну вот никак не могу вспомнит ни одного графика без которого ну ни как в линуксе не обойтись.
Можете показать примеры графиков на винде, таких не для красоты, а чтобы были безальтернативны, хотя бы для винды?
1CUnlimited Автор
Я в тексте прямо про вейты и практический кейс писал. Многа букв но но именно там суть. Те кто вертит 5 терабайт в СУБД меня поймут
DennisP
И что, вы смотрите эти графики непосредственно на том же сервере, где и вертится эта БД на 5 ТБ? Обычно всё же CLI сервер с БД отдельно, рабочая станция для управления им с GUI - отдельно
1CUnlimited Автор
Ну это вам нужно лишние порты для мониторинга открывать , а если не из офиса? Зачем плодить лишние сущности если можно прямо на сервере все посмотреть. Но "это никому не нужно" любимый аргумент
randomsimplenumber
Есть такая вещь, VPN. А порты открывать это антипаттерн из 90-х.
1CUnlimited Автор
Я про порты внутренней сети а не во вне. Как понимаю у вас во внутренней сети все открыто раз только про внешнюю сеть думаете
1CUnlimited Автор
Я про порты внутренней сети а не во вне. Как понимаю у вас во внутренней сети все открыто раз только про внешнюю сеть думаете
randomsimplenumber
Ваша сеть - ваши правила ;) любите игры в firewall - открывайте и закрывайте. 1 строчка в правилах для firewall пишется быстрее чем жалоба на то что что-то куда-то нужно открывать. Не вижу никаких проблем ;)
DennisP
Судя по вашему нику, возможно имеется в виду БД для 1С, которая работает под MSSQL на сервере в бухгалтерии. В таком случае, почему бы и нет.
Spiritschaser
google://sixel -- до сих пор работает. Даже mathplotlib графики в него умеет.
1CUnlimited Автор
Вы предлагаете текстовый вывод как-то в график транслировать? Может что-то работающее из пакета предложите
dlinyj
Gnuplot
Spiritschaser
Нет, много разного софта умеет в вывод в системе команд sixel.
eri
Граффики в браузере посмотрю)
fhunter
sixel, или braile шрифты. даже библиотеки для этого есть. Но обычно такие штуки в браузере смотрятся.
1CUnlimited Автор
Что-то типа этого ? https://www.monitorix.org/manpage.html
К сожалению установка потребовала каких-то perl зависимостей дальше копать не стал. Может есть что-то рабочее?
randomsimplenumber
А с перламутровыми пуговицами есть? Нет? Будем искать.. (ц)
Значит не очень оно вам нужно. Миллионы серверов с базами данных как то отдают статистику , лишь у вас такие необычные требования, не каждый поймет;)
1CUnlimited Автор
В windows сделали видимо они тоже необычные.
domix32
Зависит от того какие графики вы хотите. Можно сваять что-то поверх ncurses-like tui, например такое. Кратко - запоминаем состояние терминала на момент запуска вашего терминального приложения, переходим в сырой режим, делаем там что хотим, выходим из сырого режима и восстанавливаем состояние.
Можно не заморачиватся с tui, а взять минималистичные gui типа dear imgui/egui и сделать тот же интерфейс и рисовать уже абсолютно любые интерактивные графики.
Ну и третий вариант - сделать простенький вебсервер и работать с приложением из браузера. Подрубаешь некоторый Three.js и погнал.
Dominux
Вы забыли про принцип Unix о том, что утилита должна выполнять одну вещь и хорошо ее выполнять
А в винде у вас есть тяжеловесные неповоротливые программы для обычных людей. Шаг вправо - шаг влево не сделаешь в них. А из cli-утилит какие хочешь пайплайны, такие и выстраивай
Оба подхода можно понять. Но, как уже сказали ранее, не стоит считать, что одно решение подойдёт для всего и для всех. Одним людям нужны готовые решения в виде полноценных гуи с миллионом кнопок и менюшек-выпадушек и лёгким UX, другим - множество утилит, которые работают четко для одной цели, чтобы комбинировать их как они захотят
monah_tuk
Отдать должное, что этот принцип не догма. Sort умеет выкидывать дубликаты... зачем, когда есть uniq? А просто так эффективней. Практически нулевая стоимость.
Kalobok
В большинстве редакторов нажимаете Ctrl+O, а дальше набираете руками свой [path].
aamonster
Ага, у меня в винде любимая консольная команда – start (в MacOS, соответственно, open), потому как удобно переходить между консолью и гуём в зависимости от текущих потребностей.
monah_tuk
А а kde dolphin сочетание f4 и shift-f4 )))
albozaur
Хм... действительно работает. Спасибо , не знал.
Revertis
У систем с GUI преимущество в том, что на экране есть ВСЕ нужные переключалки с подписями, можно тыкать и пробовать. В конфигах обычно этого нет. Комменты - это совершенно не то.
asatost
Это поэтому пишут руководства с названиями типа: "Как вернуть недостающие схемы электропитания в Windows 11" с консольными командами?
Не говоря уже о том, что открываешь какой-нибудь KB и тут же видишь: "Откройте редактор реестра".
В конфигах есть либо default конфиг со всеми возможными параметрами, либо аналогичная документация.
Конечно не то. Комменты к одному параметру порой несколько экранов текста занимают, как Вы это в переключатель с подписью разместите?
1CUnlimited Автор
Вообще-то я за то чтобы gui отражал концепции командной строки. А даже этого близко нет. Но вы топите против гуи только потому что ВСЕ там зделать нельзя. Мыши против кактуса ?
asatost
Звучит примерно как: "вообще-то я за то, чтобы яблочный сок отражал концепции бутерброда с колбасой". Как в GUI Вы собираетесь отражать, например, такую концепцию CLI, как перенаправление вывода (pipe, | )?
Может потому, что его и не должно быть? А то Ctrl+C в GUI прерывал бы работающее приложение. ;)
Я против GUI? Пардон, но где?
fhunter
Ну формально - рисовать мышкой цепочку команд и смотреть что там бежит ;-)
Типа того, как у yahoo! pipes было сделано.
dv0ich
Вроде бы в Apple Automator так сделано или было сделано.
asatost
Мы сделали GUI, чтобы Вам не приходилось вводить команды, потому что Вы будете рисовать их мышкой! :-D
Не видел.
Вообще, если следовать именно общей идеи GUI, должно быть что-то вроде блок-схем, тыкаем нужную область окна, оттуда забираются данные, добавляем блоки промежуточной обработки, тыкаем область в приложении, куда должны попасть данные.
1CUnlimited Автор
Apache airflow.
Кстати когда приходится рисовать скрипты быстро понимаешь что даже bash хорош до тех пор пока нужно анализировать исключения и выстраивать более сложный workflow
Банальный пример определить - удачна ли проверка холодного бэкапа postgres
Тут проще написать что-то на языке более высокого уровня либо средство выше
randomsimplenumber
Анализировать исключения лучше средствами языка, где они есть. bash не очень для этого подходит.
А какие исключения нужны при проверке годности backup? error level== 0 или нет, для проверки достаточно даже убогого cmd.
fhunter
Ну да, как-то так. И в блок-схеме - как в тех же delphi - кучка готовых компонентов и возможность написать/нарисовать свой или отнаследовать его от готового.
1CUnlimited Автор
Microsoft ещё давно сделали object linking and embedding Ole. В ms office очень хорошо применяется там и возможности шире чем у pipe
asatost
Как же, как же, помним. Сначала было Windows API, и был DLL Hell...
Я этот самый DDE ещё из OWL дёргал.
Это не так, возможности будут ограничены разработчиком OLE-сервера. 1С тоже через COM-объект доступна, однако, воспользоваться им без знания встроенного языка 1С невозможно.
Соответственно, сводя к общему случаю, Вы не можете получить произвольные данные из произвольно взятого окна, хотя и наблюдаете их воочию.
dv0ich
ВСЕХ нужных переключалок я пока что не видел ни в одном GUI.
garwall
ну в целом он не нужен. зачем гуй компьютеру, поставленному в стойку, к которому монитор подключать в случае гигантского шухера, когда даже ipmi не заводится? или вы считаете, что в гуе сильно удобнее будет, условно говоря, натыкивать виртуалхосты перетаскивая мышкой весь миллион опций по обработке хедеров?
и это, замечу, без малейшего шанса хоть как-то автоматизировать. всё всегда надо будет делать руками. каждый раз. так что, я считаю, что тезис про ножовку и молоток всё еще в силе.
eri
Есть же красивые гном и кде где все работает и под вайлендом и под иксами. Инсталеры 1с есть в rpm и deb пакетах. И ставятся без проблем на систему под которую делались ( к сожалению на noble или trixie ) оно не запустится без напильника. Но зато "устанавливается мышкой" без Рута. А в консоле то apt install ... deb. Вместо миллиарда движений мышкой)
aamonster
Я считаю нормальным скопировать командную строку и поправить один-два параметра вместо тычков мышкой в трёх окнах.
А, и да, я не линуксоид, моя рабочая машинка – Мак, где с GUI всё в порядке. Просто некоторые задачи (ну, большинство тех, что можно автоматизировать) проще решаются в консоли.