LINUX.ORG.RU
ФорумTalks

Думаю о локальном Линуксокапце

 конец


0

2

Прошло много лет с тех пор, как Линукс захавал большую часть веб-серверов, в какой-то мере и смартфонов (хоть тут и только ядро, которого пользователь и так не видит). В то же время, лидирующий DE, GNOME, деградировав, застрял на своего рода windows 8 с «плиточным» интерфейсом и отсутствием нормальных десктопный фич. Альтернативы в виде KDE, как мы видим, не решают проблем - это вечные глюки, кривые шрифты из коробки и проч. траходром в консоли с негарантированным результатом.

Возникает закономерный вопрос: а имеет ли смысл держать Линукс на десктопе? Подумываю о переводе моего десктопа на вин10.

Аргументы против:

  1. в октябре закончатся апдейты безопасности, и тебя ломанёт сосед Вася. Ответ: сервисы защищены не локально, у самых важных 2FA. Максимум, что человек сможет сделать - украсть сканы личных документов (хранить в зашифрованных архивах), украсть ключ от битбакета и саботировать личный репозиторий - хрен с ним);

  2. А как же разработка для Линукс? Во-первых, чисто Линукса сейчас мало, в основном кроссплатформа. Во-вторых, есть WSL.

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

★★★★★

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

В винде сисколлы, это функции в ntdll.dll. С ними все нормально, все там стандартизировано.

Нет, сисколлы это сисколлы, а функции в ntdll это не сисколлы, это обёртки над syscall-ами. В linux glibc это такой же ntdll.

Давай пример.

У меня нет столько времени. Если вкратце - маппишь .so файл в память, парсишь заголовки, производишь релокации (можешь почитать исходники glibc или musl, как это там сделано), и всё. Обычный userspace код, в котором нет никакой магии.

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

Это которые со своими редистрибюталсами приходят? Каждому смоё vc подавай и без спроса ставят и иногда ломают. Вот только отдавал компьютерщикам нашим, ставили обновление чего-то там обновили, софтина не работает. Заново её переставили мне, понадобилась другая программа, оказывается она теперь не работает. Лицезрею депенденсихел на винде. Я чесслово ничего не делал. (Реально). То, что есть НЕКОТОРЫЙ софт, без проблем работающий на любой винде не спорю. Но и на линуксе такой софт есть. Но в линукск пакетный менеджер, а в винде пусть эти долбодронты из айти отдела емучаются. Задрали. Что характерно, у меня на лине даже сименсовский софт работает.

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

Если вкратце - маппишь .so файл в память, парсишь заголовки, производишь релокации

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

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

В упор не вижу в вышеприведенных примерах необходимости в de.

Но предлагаете thunar задействовать для монтирования. Это уже первый шаг к DE. Как-то все забыли, что WM задуманы для встраивания в окружение. Кроме управления окнами они ничего и не должны уметь. Можно конечно ковбойствовать в консоли, но это развлечение не для всех. Да и как-то надоедает со временем. Сейчас идея WM мертва, потому что окружения стали монолитными. Вялые подобия WM это вовсе карго-культ, бессмысленный и беспощадный.

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

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

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

Ну и кто этот закат солнца вручную делать будет, это же просто смешно

Кому надо - тот сделает.

Я же написал - штатный.

Что ты подразумеваешь под словом «штатный», я не понимаю. Для линукса бинарник это просто файл, который ядро маппит в память и передаёт управление по указанному в заголовке адресу, положив args и env в стек. Никаких динамических библиотек для ядра не существует.

Вся реализация динамических библиотек существует только в коде glibc. Для glibc штатным способом является зависеть от glibc, остальное /lib/ld-linux.so сам сделает. Но ничего не мешает тебе переиспользовать этот механизм, написав такой же код (а может и стянув его из libc, я не пробовал).

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

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

Давай вернёмся назад. Я говорю, что тебе никто не мешает писать приложения с нулём зависимостей, которые будут общаться с ядром через syscall-ы, с wayland через $XDG_RUNTIME_DIR/$WAYLAND_DISPLAY, с dbus $DBUS_SESSION_BUS_ADDRESS через и тд. Может где-то не получится этот план, но мне пока не очевидно, где. Я думаю, что такое приложение с нулём зависимостей времени выполнения и нужным функционалом написать вполне можно.

Ты зачем-то захотел ещё библиотеки динамические загружать. В этом нет нужды. Но можно, если очень хочется.

И будет не просто аналог «портабельного» приложения из мира Windows, это будет куда круче.

Почему так не делают - я не знаю. Меня тоже бесит подход линукса со всеми этими разделяемыми библиотеками, пакетными менеджерами. Это всё шляпа из 80-х, когда винчестер на гигабайт был пределом мечтаний. В 2025 году это всё не нужно. Приложения должны быть автономными.

Уважаемый товарищ Линус, кстати, тоже в эту сторону думает.

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

Там дятлы, тут система неправильная. Или это двойные стандарты? Или просто если писать что-то сложнее (умного) калькулятора для лабы, то и на винде начинаются ужасы? И таскают с собой режистрибьюталсы, это как с питоновским пипом, который неправильно используют. Не даром опенчорсные технологии потихоньку завоёвывают и виндовый мир. Я не холивара ради. Задумывалась винда так, реализована хуже и в итоге каждый кад со своими либами лезет в систему. Оно нехорошо, но по другому же никто не знает, будет ли работать? (Прям пиптон) А старые кады (которые куплены и никто их покупать ещё раз не будет) и того хуже делают. В мире же линукса одна проблема - glibc. В неё влез и можешь тащить локально упакованные либы, использовать системные, как тебе понравится.

Прикол. Я прямо сейчас сидел на лекции. Лектор пытался подключить кинопроектор. Комп всегда стоит в той студии, все подключаются через него со своими флэшками. Так вот. Лекция была сорвана потому что комп отказался подключаться по hdmi. Вот прикинь такое бы случилось с компом с линуксом? Сколько бы вони было про криворукость идиота, который зачем-то вместо операционуи туда какую-то хрень поставил? Ещё бы побежали проверять, не снорел ли проектор после этого. А винда не подключилась, и мы просто пошли по своим делам. Меня пытались привлечь исправить, но пошли в ту самую сторону. У меня ВСЕГДА всё работает на линуксе и его ВСЕГДА все боятся и даже боятся флэшки совать, потому что хрень какая-то непонятная. Любите винду? Позовите когда заработает. У меня шнеки горят.

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

А давай ее надо про вяленый? Общаясь с иксами можно писать кнопки и элементы всякие, а на вяленом что? Опенжиелем реализовывать поверхности, рисовать анимации, писать крадиенты и вот это вот всё? Нафиг не нужно. Используя гтк или кути можно жить на линуксе не обращаясь к нижним этажам вообще и будет всё работать.

Вооще все на tk могут переходить, потому что все всё равно на питоне ноняе сидят :)

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

Почему так не делают - я не знаю

Потому что сложилась очень сильно инертная всеобщая практика, делать наоборот.

James_Holden ★★★★★
()

мда, странный я себе не могу представить себя на винде, сейчас всё удобнее делать в linux, даже freecad для меня стал удобнее автокада, не спорю заменить автокад не может, но если тебя багаж не держит с нуля 3д модели чертить, самое то.

s-warus ★★★★
()
Ответ на: комментарий от R_He_Po6oT

И таскают с собой режистрибьюталсы

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

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

Может они есть, а я просто не знаю?

Практически наверняка есть. Ну кроме вот этого вот гиммика «полнофункциональная современная панель задач, интегрированная хоть с чем-то кроме своего текстового конфига» — тут не уверен, потому что это нечто совсем уж странное и ненужное. Остальное, скорее всего есть. Чего только люди не делают. Но где — не подскажу, лично мне ничто из перечисленного ни разу не требовалось. Ночной режим из интереса пробовал — не понравилось, bluetooth-наушников не юзаю (посему всякие костыли для звука тоже не требуются), монтировать флешки удобнее хоткеем или из консоли, но и «в трее» это реализуется тривиально, и даже не в трее, а хоть прям на панели.

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

А виноват в этом линукс с его неправильным миром? Или на винде он тоже неправильный?

Я могу быть не прав с точки зрения разработчика. Я серьёзно не пишу и тем более не распространяю. Но на линуксе я напишу и оно работает (вот недавно для ИИ чат написал, но меня тут потёрли). И на винде работает. Но там пришивается эта хрень и никто не спрогнозирует как оно отреагирует в будущем. В то же время на линуксе такое поправить просто. Именно потому что даже для собранных прог я спокойно могу подсовывать произвольные либы. С виндовыми же корпоративными кривульками я разбираться не хочу и не буду. Они за это деньги получили? Пусть работают. А мне некогда ждать, я лучше на линуксе. В прошлый раз приносил линукс именно в ту студию, подключал свой ноут, показывал наработки, графики, всё сделано без использования винды. Во время сессии не стало сне насильно обновляться, не стало отключать моники и всё прошло гладко. И даже не потому что я в линуксе секу, а потому что там просто работает.

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

Общаясь с иксами можно писать кнопки и элементы всякие

Нет, нельзя. В иксах нет кнопок и элементов всяких. Ты с WinAPI путаешь. Там - есть. В иксах ты всё рисуешь сам, особых отличий от wayland в этом плане нет. Единственное, что иксы для тебя нарисуют, это заголовок окна (да и тот рисует WM).

Используя гтк или кути можно жить на линуксе не обращаясь к нижним этажам вообще и будет всё работать.

Да ради бога, я разве против. Никто же не запрещает компилировать программу с gtk статически, чтобы всё используемое gtk было внутри твоего бинаря. Ну или прописывать пути вида /apps/calculator/libs/libgtk4.so и бандлить все библиотеки с приложением.

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

Я клоуна вроде не ставил в этой теме. А ещё я буду сравнивать скорость сборки в нативном Линуксе и в WSL, так что ждите.

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

Но где — не подскажу, лично мне ничто из перечисленного ни разу не требовалось

А мне нужно, и я интенсивно искал, годами, но ничего подобного просто нет. Вот нету, от слова нет. Ответственно заявляю. А это базовые требования, совершенно начальные. Выдвигать серьезные требования «мы еще ничего не начинали».

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

Если ответ на вопрос, который мы обсуждаем, лежит в плоскости «WM лучше чем DE, потому что базовые мастхев функции десктопной среды, которые есть в любой десктопной ОС, и даже есть в линуксе, мне 100 лет в обед НЕ НУЖНЫ и я на них плевал», то это не ответ. Это маргинальная позиция, вот и все.

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

Простота поправления больше зависит от доступности сырцов, чем от того, какая ОС. Как-то мне надо было гимп под винду поправить, я поправил, и это было не сложнее чем в линуксе. Бугага, для сборки гимпа под винду, всего-то надо скопировать команду для пакмана (!) из их readme, которая ставит все зависимости.

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

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

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

По-моему, это какой-то странный ход дискуссии. Такой ответ опровергает изначальный тезис, в той форме, в которой он был дан.

Тогда это звучит так - «если функции десктопа от компьютера не нужны, то DE - не нужно».

Я с этим полностью согласен, я тоже не ставлю кеды на VPS или на малину.

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

Я про те случаи, когда нет либы именно для закрытых прог (ну или когда тупо лень). Подстановка либы - плёвое дело на линуксе. И неделя с помощью официальной поддержки Металикса, а потом перестаёт работать Лантек. Каждая прога сверх 10 штук евро, плюс постпроцессоры, если что. Вот и считай. А те, что у меня на линуксах работали - тут кути не той версии, слинковал и заработало, там жаба не той версии, две минуты и всё работает. Вот так надо делать.

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

Что значит подстановка, в винде точно так же кидается подставная dll в папку с программой и все, если она у тебя есть. А если это dll закрытая которой ни у кого нету, тут и в линуксе не получится. Что-то я не понимаю. dll на то и dll, ее везде можно заменить, было бы на что менять.

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

Так в том и дело, что винда обновлениями сломала. Я не исключаю криворукость разработчиков, ведь они в попытке написать закрытый продукт так изгаляются, что всё работает, скорее, вопреки, чем благодаря. Но на Линуксе все эти файлы лежали бы себе и лежали. А тут винда с ними что-то делает. Вот и всё.

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

А такого, чтобы на линуксе не хватало именно закрытых либ я столкнулся только единожды. Там был весь линукс запакован монолитом и работал на старом железе. Когда проц сдох, я попытался переставить на новый комп и заодно перетянуть прогу на свой линукс, думал всех объегорю. Но на новом линуксе мне упорно говорило, что нет такой-то либя, хотя вот она лежит. И со старого «диска» не запускалось. Так и ушла железка. А всяких ломаных прог, типа старинной Кати, я не запускал. Может в те времена это и было проблемой.

Давно прошли те времена, когда проприетарный софт не работал на Линуксе. По крайней мере кады работают как часики.

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

Если ответ на вопрос, который мы обсуждаем, лежит в плоскости «WM лучше чем DE

Он не может лежать в такой плоскости, потому что WM и DE — не альтернативы друг другу. WM — это программа, DE — набор программ, включающих в себя WM. Сравнивать можно какой-то конкретный отдельный WM и WM из состава DE, можно сравнивать конкретный файл-менджер и файл-менеджер из состава DE, эту твою «монтировалку флешек» отдельную и из состава DE, и т.д. и т.д.

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

А мне нужно, и я интенсивно искал, годами, но ничего подобного просто нет. Вот нету, от слова нет. Ответственно заявляю.

Спорить не буду. Хотя почему-то уверен, что если бы мне что-то из перечисленного было интересно, я бы это нашёл без особого труда. Для того же «ночного режима» — единственное, что из перечисленного мне хоть как-то любопытно было — есть несколько решений, и они не какие-то спрятананные.

А это базовые требования, совершенно начальные

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

Я не говорю, что мои базовые требования «правильные», а твои — нет. Лишь то, что они у разных людей разные.

Но даже если предположить, что вот эти вот перечисленные утилиты каким-то непостижимым образом не существуют в standalone-виде, это не аргумент в пользу скатывания их всех в один большой комок под названием DE. Это не является требованием для из разработки или распространения. Если бы мне что-то из этого было бы нужно, и оно действительно не существовало бы, я бы наверное, это просто написал и со всеми поделился. Тем более там ничего такого уж сложного нет (кроме геморроя с pulseaudio/pipewire, но для этого точно есть готовые решения).

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

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

Да.

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

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

Но даже если бы эти утилиты не просто не были известны лично мне, но и правда не существовали отдельно от DE, то это повод их реализовать. То, что кому-то такое действительно может быть нужно (я даже верю), не означает, что всё это должно распространяться исключительно всем скопом и с тысячей других программ, совместно.

По-моему, это какой-то странный ход дискуссии. Такой ответ опровергает изначальный тезис, в той форме, в которой он был дан.

Изначальный тезис: гибкость и заменяемость компонентов лучше, чем «бандлы» по принципу «напихаем всего побольше». Если какую-то «хорошую» программу засунули в DE, то она хороша потому что её хорошо написали, а не потому что засунули в DE — скорее даже вопреки.

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

Тут причина довольно проста - вне концепции DE это нельзя нормально сделать. Поэтому и не сделано.

Если мы панель сделаем на qt, управлялку сетями на gtk, а звуком вообще на питоне, все ж отдельно, независимо и молодёжно, то нафиг так жить.

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

Ну вот у меня и панелька не на qt и всякие управлялки на ней не на gtk, а реализованы средствами самой панельки и простейших скриптов (их можно хоть на питоне, хоть на шелле написать, и в этом нет никакой проблемы). Среди них нет управлялки сетями, да, потому что сеть у меня на десктопе одна, и всё подключение полностью автоматизировано. Но сеть в данном случае ничем не отличается принципиально от управления чем угодно ещё. И да, сетями управлять тоже можно без всяких qt и gtk, даже с панельки.

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

Кстати, у меня сеть на десктопе через USB вайфай адаптер. В Убунте для неё был драйвер. В 11й пришлось качать с сайта D-Link. И так же с дровами для чипсета матери. Но ничего, не рассыпался, установил.

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

их можно хоть на питоне, хоть на шелле написать, и в этом нет никакой проблемы

Если ты в этом не видишь проблемы, то говорить на эту тему пропадает вообще смысл. У нас кардинально разные взгляды на это, и ни к чему мы не придем.

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

Подстановка либы - плёвое дело на линуксе

И еще более плевое - на венде.

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