LINUX.ORG.RU

vi, давай, до свиданья!

 , , ,


3

2

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

Что сказать?! Когда-то, я залез в технический раздел ЛОРа (каюсь, да, правила не читал, модераторы справедливо всё потёрли и шкворцов поубавилось, больше так не делаю) и развел там небольшой, но весёлый срачик на тему Vi vs Nano, где тулил за то, что nano это хорошо, удобно, просто и всем зайдет, а vi наоборот и с этим надо что-то делать.

И что теперь?! А вот что, в категории ChangeAcceptedF33 мы видим UseNanoByDefault, такие дела. И какие рассуждения там встречаем? А вот.

<...> You need to spend time learning how to use it, for even basic editing tasks. This increases the barrier to entry for those who are switching to Fedora and don't know how to use vi. It also makes things hard for those who don't particularly want to learn how to use vi. <...>

In contrast, Nano offers the kind of graphical text editing experience that people are used to, and therefore doesn't require specialist knowledge to use. <...>

Why make Nano default and vi optional, rather than the other way round? Because Nano is the option that everyone can use. 

Походу будет создан пакетик nano-default-editor, который вытянет nano и установит $EDITOR=nano, которая в федоре была не определена по умолчанию.

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

Ваши мнения. Что в других дистрах? Знаю что в дебиане nano всегда устанавливается, но по умолчанию кажется вызывается vi. В федоре его и ставить-то стали недавно, если не ошибаюсь ещё в 30-ке его не было, а тут раз – и такой поворот.

Для Ъ: https://fedoraproject.org/wiki/Changes/UseNanoByDefault

в арче какое то время назад заменили ви на вим :)

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

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

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

Я всего ничего его погонял. Но раз он на Void musl не вылетает, то наверное QT подтянули до хорошего уровня. Adblock и скрипты как в палемуне имеются. Надо только адреса от нового ублока к нему прибить. Ну окно в ютубе нынче невменяемо переключается. На фальконе это происходит терпимо по скорости. Может на другом железе получше будет.

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

Ну qtwebengine вроде стабилен. Там к 5.20 вроде бы все реализовать обещали. А пока можно не ждать, что все будет идеально. Qtwebkit вроде для пары программ нужен. Goldendict года с 2015-го все той же версии. Ну и ожидать, что его портнут в ближайшее время не стоит.

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

Как разработчик тебе навредит лол? Ты же не давал ему рута, в хомяке пусть делает что хочет

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

Только вот тут их вроде бы нет

Qt 5 зависит от GNOME Lib (glib).

$ ldd /usr/lib64/libQt5{Widgets.so.5.14.2,Core.so.5.14.2} | grep glib
	libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007f7bbb659000)
	libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007fc304bc2000)

https://developer.gnome.org/glib/

https://gitlab.gnome.org/GNOME/glib

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

Откопал вот

"To enable closer integration with the GNOME deskop environment and tools, Qt 4.2 now contains support for the Glib eventloop. This makes it possible for Qt applications to use plugins made using other Glib-based frameworks, and even enables Qt plugins to be created for use with non-Qt applications."

Может она больше ни зачем и не нужна.

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

https://github.com/qt/qtbase/search?q=%23include+%3Cglib.h%3E&unscoped_q=%23include+%3Cglib.h%3E

Она нужна для GStreamer в первую очередь. Без неё не будет работать как минимум QtMultimedia. Во-вторую очередь оно используется для организации главного цикла событий внутри GLib Event Dispatcher. Наверное это как-то нужно для DBus и прочего, но это не точно. Возможно ещё для интеграции тем.

То, что я знаю точно: абсолютно все мейнтейнеры популярных дистров собирают Qt 5 с зависимостью от GNOME Lib (glib). Так же с этой зависимостью распространяется сборка Qt под Linux на официальном сайте.

В Embedded иногда Qt 5 собирается без Glib, там где не нужен модуль Qt Multimedia.

Можешь сам пересобрать Qt 5 с -no-glib и посмотреть что отпадёт.

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

Qt без glib

У меня гента и я пробовал пилить кути без глиба. Закинул в локальный оверлей и правил ебилды. В итоге получилась жопа. Фонон вообще отказался собираться. Много чего не работало. Вот вам и eventloop.

П. С. Кстати, MC тоже на глибе собран и без него не работает.

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

Qt и glib

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

utanho ★★★★★
()
Ответ на: Qt и glib от utanho

Лично я считаю, что это слив.

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

На кутях можно быстро сляпать приложение с гуем, не вдаваясь в подробности.

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

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

Надеюсь вы не погромист.

Конечно не погромист, это GTK3 всё громят и ломают. Я таким не занимаюсь.

Из-за таких погромистов видимо и приходится на псевдографическом анахронизме сидеть.

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

приходится на псевдографическом анахронизме сидеть.

Псевдографика - наше всио.

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

он вылазит по sudoedit и/или crontab -e – проще удалить

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

Я в Gentoo сделал три правила -gtk -gtk2 -gtk3. Пока что отвалился ibus (не принципиально, так как ставился как альтернатива fcitx, но у него по умолчанию английский «прямой» ввод вместо японского всегда, что конечно исправимо в исходниках, но эксперимент то по отказу от gtk, а может и возможно glib впоследствии).

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

Полностью снес glib, gtk+, убрал все флаги GTK и звук работает в VLC, Palemoon. Только вот с fcitx+mozc небольшие трудности. Нельзя писать в LibreOffice, зато можно в него вставлять исправления. QT версии работают нормально, а даже notepad из wine с грехом пополам позволяет вводить. Так что все это было большим преувеличением. Немножко упростились стили в pcmanfm/spacefm о ничего критичного. Главное что терминал воспринимает ввод.

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

Полностью снес glib, gtk+, убрал все флаги GTK и звук работает в VLC, Palemoon

Как у тебя Palemoon без GTK+ работает, лол? Что-то ты не то снёс. А Qt для отключения glib вообще нужно пересобирать.

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

Такие вот нынче мамкины хакеры. Линуксовые форумы скоро догонят и перегонят вендовые по тупизне.

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

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

У них там на странице:

Pale Moon is specifically optimized for current-day processors and as such requires a reasonably modern system to run properly.

    A modern Linux distribution. The browser may not work well on old or LTS releases of Linux.
    A modern processor (must have SSE2 support as the absolute minimum).
    1GB of RAM (2GB or more recommended for heavy use).
    GTK+ v2.24
    GLib 2.22 or higher
    Pango 1.14 or higher
    libstdc++ 4.6.1 or higher

http://linux.palemoon.org/download/mainline/

Ради интереса скачал:

$ ldd libxul.so | grep 'glib\|gtk'
	libdbus-glib-1.so.2 => /lib64/libdbus-glib-1.so.2 (0x00007fb510ed6000)
	libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007fb510cf9000)
	libgtk-x11-2.0.so.0 => /lib64/libgtk-x11-2.0.so.0 (0x00007fb510846000)

Не может он без GTK+ и GNOME Lib работать.

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

Ну да, это скачаный. Проверять пока не тянет что там со сборкой из исходников. Скачанный тащит все с собой. Но это тоже вариант не держать в остальной системе gtk. Пока что qt и kde-frameworks надо собрать для Calligra, которая должна уметь в документы и fcitx.

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

Вот тут вообще нет следов glibа

ldd palemoon/palemoon-bin 
	linux-vdso.so.1 (0x00007ffdce9f4000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f3ab21a8000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f3ab21a0000)
	libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/libstdc++.so.6 (0x00007f3ab1f30000)
	libm.so.6 => /lib64/libm.so.6 (0x00007f3ab1df8000)
	libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/libgcc_s.so.1 (0x00007f3ab1dd8000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f3ab1c18000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f3ab2208000)
anonymous
()
Ответ на: комментарий от anonymous

А тебя, внезапно не смутило, что palemoon-bin весит 170 КБ?

Это же блин, просто лаунчер-заглушка. Интерфейс браузера находится в libxul.so библиотеке, которая в свою очередь взаимодействует с GTK+ и Glib и ещё кучей всего.

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

Меня нисколько это не смутило! Главное, что я вижу - он работает, но без интеграции с GTK нельзя в нем мспользовать fcitx. Как докомпиляется офис буду браузеры собирать и тестить.

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

Хах. Не сегодня. Calligre работает нормально, так что вопреки слухам GTK и glib необязательны. Равно как и все, что клепает мухомор. Вместо пульсы есть alsa с эмуляцией пульсы наркоманским программам. Ну или jack прекрасно справится. Их аж 2 версии. Системд ненужно. Если все вокруг перестали кукарекать какие мухоморы класснве может уже давно всем стало бы ясно, что будь больше людей на qt, то уже давно бы всякие либреофисы умели бы с ней работать.

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

кстати, c+0, c+s - это чуть ли не промстандарт, забыл его название, IBM и прочие микрософты с нортонами - просто ему следовали.

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

Phonon даже не трогал. Но он обязан работать нормально, потому что он часть kde. Сначала поставил все, затем снес все glib, gtk. Без них ничего не должно работать. Это же не иконки, которые зачем-то имеют в зависимости чуть ли не весь kde. Статической сборкой не занимаюсь.

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

В любом случае хочу избавиться и от пульсы в пользу alsa если заработает в браузере. Есть такой флаг для qtwebengine. Если сервер, то у меня jack2 только нормально работал. Может первую версию поправили уже. Она меньше памяти поглощает.

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

Ты какой-то странный анонимус. Какой к чёрту fcitx, если твой Palemoon рисует все меню браузера тупо только через GTK+? Все стандартные элементы на HTML-странницах вроде кнопки «показать удалённые» в этой теме – берутся из GTK+. Все поля ввода в Palemoon поддерживают чисто GTK’шную фичу:

Holding Ctrl + Shift and typing u followed by the hex digits, then releasing Ctrl + Shift for inserting Unicode characters.

Calligre работает нормально, так что вопреки слухам GTK и glib необязательны.

Ещё раз: у тебя Qt в системе зависит от GNOME Lib (glib), потому что мейнтейнеры её так собирают, а не занимаются тулкитодрочерством. Это никакие не слухи, а реальность. И чтобы убрать зависимость от glib, фреймворк Qt нужно пересобирать с -no-glib и делать это не в каком-нибудь Portage, а в configure-скрипте самого Qt.

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

О, не знал, что он прямо виджеты вставляет. Думал, только парсит тему оформления + использует диалоги открытия/сохранения.

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

Мне достаточно удалить glib, gtk+ и замаскировать их для пробы. И все таки при удаленных тулкитах палемун работает. Мне все равно как. Это просто факт. Просто даже если QT собран с поддержкой glib это не проблема. Я потом проверю есть ли что требующее glib как соберу qtwebengine, Falkon. Портеж ругнется если что-то требует.

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

Бог мой, ну что за слепое упование на святой Portage, который наверняка отключает glib и gtk, лишь там где это опционально.

Да сделай же ты тупо у себя:

# Удаление GTK и GNOME lib

sudo mv /lib64/libglib-2.0.so.0.6400.5 /lib64/libglib-2.0.so.0.6400.5~
sudo mv /lib64/libgtk-x11-2.0.so.0.2400.32 /lib64/libgtk-x11-2.0.so.0.2400.32~
sudo mv /lib64/libgtk-3.so.0.2404.19 /lib64/libgtk-3.so.0.2404.19~

# Восстановление GTK и GNOME lib

sudo mv /lib64/libglib-2.0.so.0.6400.5~ /lib64/libglib-2.0.so.0.6400.5
sudo mv /lib64/libgtk-x11-2.0.so.0.2400.32~ /lib64/libgtk-x11-2.0.so.0.2400.32
sudo mv /lib64/libgtk-3.so.0.2404.19~ /lib64/libgtk-3.so.0.2404.19

И узри на первом этапе, как твой любимый Palemoon вместе со всем Qt-софтом превратились в тыкву:

$ palemoon
XPCOMGlueLoad error for file /home/exl/Downloads/palemoon/libxul.so:
libglib-2.0.so.0: cannot open shared object file: No such file or directory
Couldn't load XPCOM.

$ firefox 
XPCOMGlueLoad error for file /usr/lib64/firefox/libmozgtk.so:
libgtk-3.so.0: cannot open shared object file: No such file or directory
Couldn't load XPCOM.

$ qtcreator 
qtcreator: error while loading shared libraries: libglib-2.0.so.0: cannot open shared object file: No such file or directory

$ qbittorrent 
qbittorrent: error while loading shared libraries: libglib-2.0.so.0: cannot open shared object file: No such file or directory

Но нет, лучше же писать какие-то пространные стены текста на форуме в стиле:

А вы знаете, что оказывается в RedHat скрывают и распространяют слухи о том, что приложения не работают без glib! Я у себя в Portage зделол -glib и всё работает, мамой клянус!

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

QtCore собирается без glib. Кути, в принципе, могут без глиб. Но не могут кеды. Вот в чем загвоздка.

Зачем снова начинаешь? Что могут и не могут Qt без GLib давно уже написано выше, даже ссылка на исходный код Qt дана была.

KDE тянут glib из Qt, сами с ним вряд ли как-то взаимодействуют. Сегодня (да и всегда) мейнтейнеры абсолютно всех популярных дистрибутивов Linux собирали Qt с прямой зависимостью от Glib потому что это оправдано, особенно в QtMultimedia, который без этого превращается в тыкву.

Я лично встречал и собирал Qt для Embedded без зависимости от GLib. Работали нужные мне вещи, вроде QtCore, QtGUI, QtWidgets, QtXml, QtNetwork. Не работала мультимедиа, QtWebkit/QtWebEngine, мимикрия под GTK-темы и ещё что-то по мелочи, уже не помню что, DBus вроде.

А Phonon про который ты тут так часто говоришь – давно выкинули из современного Qt в пользу использования QtMultimedia, который использует технологию из GNOME – GStreamer (GNOME Streamer). Вот такая сейчас ситуация.

А у тебя в голове ситуация из прошлого десятилетия, когда KDE-разработчики были полны энтузиазма и делали вещи вроде Beryl, aRts и как раз этого Phonon, дабы быть независимыми от GNOME-стека.

Итого на 2020:

  1. Phonon:

The first official release was part of KDE 4.0 in January 2008, the same year Phonon was adopted by Qt and released as part of Qt 4.4. Even though support for Phonon in Qt will continue for the 4.x series, Qt has already replaced Phonon with QtMultimedia and QtMobility.

Источник: https://en.wikipedia.org/wiki/Phonon_(software)#History

  1. QtMultimedia:

As described in the Multimedia overview, Qt Multimedia uses the GStreamer multimedia framework as the backend for audio and video playback on Linux. The minimum required version of GStreamer is 0.10.24. The 1.x series is also supported.

To build Qt Multimedia, you need the GStreamer library, base plugins, and development files for your system.

Источник, актуальная документация Qt: https://doc.qt.io/qt-5/linux-requirements.html#multimedia-dependencies

  1. GNOME Lib (glib):

glib libglib-2.0 Common event loop handling -glib or auto-detected 2.8.3

Источник, актуальная документация Qt: https://doc.qt.io/qt-5/linux-requirements.html

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

Браузеры все включили звук и видео, но не исключено, что из-за статических библиотек, включая glib, которые они могли с собой притащить. Это относится и к Vivaldi, который пользуется системным ffmpeg для openh264. И звук работает через пульсу у которой оторвали привязку к gtk. У меня звуковая на usb чипе и она хоть через альсу, хоть через что вывести может.

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

Vivaldi напрямую зависит от GLib и GTK+:

$ mkdir shit
$ mv vivaldi-stable-3.3.2022.47-1.x86_64.rpm shit/
$ cd shit
$ rpm2cpio vivaldi-stable-3.3.2022.47-1.x86_64.rpm | cpio -idmv
$ ldd ./opt/vivaldi/vivaldi-bin | grep 'gtk\|glib'
	libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007fc13e509000)
	libgtk-3.so.0 => /lib64/libgtk-3.so.0 (0x00007fc13d1c6000)

Всё, мне надоело спорить непонятно о чём. Можешь продолжать дальше считать что если ты в Portage укажешь -glib -gtk -gtk2 -gtk3, то весь софт волшебным образом переписывается с GTK+ на то, что твоей душе угодно, дабы излечить твою тулкитофобию.

Как уже выше заметили, позоришь светлое имя пользователя дистрибутива Gentoo, ей богу.

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

Что за наезды? Я для кого упоминал статическую сборку с глибами? VLC и mpv наверное все из себя gtk. Вот только когда нет glib и gtk вызывать нечего, а они внезапно работают и видео и звук выводят. Линковка динамическая. То есть когда надо, тогда к ним и идет обращение. Звук и видео можно и без глиба выводить.

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

Что за набор слов? Ты пьян?

P.S. Браузеры никогда не линкуются статически к Glib и GTK+. Это прямая угроза безопасности.

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

VLC и mpv наверное все из себя gtk. Вот только когда нет glib и gtk вызывать нечего, а они внезапно работают и видео и звук выводят.

И да:

$ ldd /lib64/vlc/plugins/gui/libqt_plugin.so | grep glib
	libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007fdc48153000)

$ ldd `which mpv` | grep glib
	libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007f365c1fe000)

Ай-ай-ай обложили нашего тулкитофоба GNOME’овскими библиотеками. Что не приложение, то прямая зависимость от их стека! А как пелось-то! «Практически не используется», вот это всё.

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

glib – это не гном как бы. Это низкоуровщина для ивент лупа, строк, хэшмапов и прочего. Какая-то безумная уже даже не тулкитофобия, а пакетофобия.

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

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

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