LINUX.ORG.RU

Как прибить ПО гвоздями к линуксу? Намертво.

 


1

2

Существуют ли библиотеки GUI, под онтопик исключительно? НЕ под андроид. Либо запускающиеся на инородных системах с большими проблемами (как kde, например, но мне нужен полноценный фраемворк, скорее).

Логику, очевидно, намертво к онтопику не прибить. Но всё же, поинтересуюсь, вдруг и тут есть способы.

Да, речь идёт об опенсорсе.

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

И? На линуксе это тоже липовый бонус и «хрупкая конструкция» — взаимозаменяемость у сокетов с файлами «крайне мала» — именно поэтому провалилась клевая идея remote procedural call «как бы локальный вызов удаленного ресурса» — потому что никто не отменял сетевые задержки :) Да че далеко ходить — потому что порядок байтов в бинарях и «агностический» подход не везде прокатит, а «все текст» — оверхед, превративший преимущества, например, SOAP перед CORBA, в то самое, что похоронило SOAP, когда прошел хайп про «дружелюбный формат» (каша из тегов XML или каша из скобок JSON) — и в гугле побежали пилить Protocol Buffers, который... что? Правильно: хорошо забытый бинарный RPC, а где не бинарный — с текстовым оверхедом :) Плюс левые ошибки типа «too many open files».

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

Виндузойдам можно усложнить жизнь, сыграв на разницах в поведении ФС. Навскидку: симлинки (afaik, на винде для создания нужны админские права); удаление файлов, имеющих открытые файловые дескрипторы (afaik, винда такого не позволяет); двоеточия в именах файлов и директорий (afaik, у винды это жестко ассоциируется с понятием «дисков»); чувствительность имён к регистру (на винде «ttt» и «Ttt» — это один и тот же файл, а на линаксе — два разных). Подозреваю, что на винде и маках имена файлов должны быть валидным юникодом, а вот на линаксе имя файла — это не имеющая никакой вообще кодировки последовательность байтов.

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

удаление файлов, имеющих открытые файловые дескрипторы (afaik, винда такого не позволяет)

Крайне сомнительная польза от проги, которая выжирает свободное место, серя логами в незакрытый дескриптор :) Круче только порт на мак, в котором забыли, что бинарь находится в «ветке пакета» и при писанине логов рядом с бинарем — место теряется, логов нет, дескриптор? не не слышали: потому что распухает пакет :)

Виндузойдам можно усложнить жизнь

/0 Виндузоидам это ничего не усложнит — потому что прога будет прибита к линуксу, см. выше про «а он и не знал ничего».

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

Виндузоидам это ничего не усложнит

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

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

А POSIX практически вечен

Довольно смелое заявление с учетом исторических, эволюционных и т.д. прецедентов :)

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

винд-онли ПО способствует популяризации оффтопика, линукс-онли — линукса

Вот оно что! Не согласен, я категорически за кроссплатформу. К тому же если ты напишешь такое ПО то его будет мало программистов способно развивать. А так даже виндузятники будут пилить софт например на Qt и выиграет от этого Linux.

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

Такая ситуация могла возникнуть ооочень давно — когда про, так сказать, десктопную виртуализацию (и эмуляцию) никто и мечтать не смел. Это сейчас virtualbox и kvm могут выручить... А вот с эмуляцией да, дело туго.

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

Да это пару лет назад было.
Потыкал ради интересу. Шевелилось.

Myp3ik ★★
()

Да элементарно, делай как все. Делаешь гуй в опенсорц стиле «сваяно професси-анальными погромистами» - и ни в одной немаргинальной системе твое поделие использовать не станут.

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

Да элементарно, делай как все. Делаешь гуй в опенсорц стиле «сваяно професси-анальными погромистами» - и ни в одной немаргинальной системе твое поделие использовать не станут.

+1, ТС сляпает на каком-то низкоуровневом шлаке такой убогий гуй что пользователь не только Linux не поставит ради этого... ;)

I-Love-Microsoft ★★★★★
()

Логику, очевидно, намертво к онтопику не прибить

проверку наличия <...> вставь

anonymous
()

Лучше используй удобные и хорошие инструменты, чтобы написать более годный софт, а не страдай хернёй.

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

К тому же если ты напишешь такое ПО то его будет мало программистов способно развивать.

в реальности большинство свободного кроссплатформенного в своей основе софта только лиуксоидами и развивается

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

просто есть такие люди, что им плохо когда нельзя кому-нибудь поднасрать

anonymous
()

Сделай его бесполезным. Ну например как systemd.

anonymous
()

запускающиеся на инородных системах с большими проблемами

GTK+ 3

на порты gnumeric и abiword разработчики забили из-за отсутствия официального порта либы для windows и глючности того, что у них получалось для windows

grem ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

Если это опенсорс — то никак, кто-нибудь возьмет исходный код и портирует твою программу.

Miranda IM. Самый что ни на есть опенсорс, даже, кажется, GPL.

Вместе с тем она именно что наглухо прибита к Windows, и даже более того, к Microsoft Visual Studio. Портировать теоретически можно, но написать с нуля получается проще :)

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

библиотеки GUI, под онтопик исключительно? НЕ под андроид. Либо запускающиеся на инородных системах с большими проблемами

Поскольку по контексту ОП речь всё-таки про GUI - усиленно используй XCB и будет тебе счастье.

hobbit ★★★★★
()

Мне кажется, проще всего использовать (обосновано) как можно больше внешних библиотек. В винде нет пакетной системы, и каждую зависимость приходится либо собирать руками, либо качать откуда-то кем-то собранную, да так чтобы они ещё совместимы были, и это сущий ад. Далее, голые иксы с этой их кучей libX*. Можно Linux-специфичные интерфейсы (epoll, inotify, procfs/sysfs, alsa и т.д.). Кое-что оставит также за бортом всякие *BSD, но тут есть разные варианты - например, если epoll не размазывать по коду а оставить в одном месте, для BSD можно там же сделать реализацию на kqueue, а виндузятники пусть сосут лапу. Прослойки для совместимости с inotify и alsa под FreeBSD есть, как и linprocfs/linsysfs (хотя последние наверняка не всё умеют что в Linux, так что степень совместимости можно выбирать). А также всякие fork(), семафоры, shm и т.д. Ещё не забудьте про файлы con и prn, с двоеточиями в названиях (или с чем там проблемы в винде были), файлы различающиеся регистром (aaa и AAA в одном каталоге), исходники с юникодными литералами без BOM. Возможно использование каких-нибудь продвинутых фич ncurses (мыши, опять же юникода, рамочек), или наоборот голое ANSI. Разумеется, нужно использовать последний C++ стандарт.

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

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

винд-онли ПО способствует популяризации оффтопика, линукс-онли — линукса

Распространённое заблуждение.

Оно бы способствовало популяризации линукса, если бы распространённость винды и линукса на десктопе была бы 50/50 плюс-минус 10%. А в текущей ситуации, наоборот, мало того, что ОС новая, так ещё и надо осваивать много непривычной прикладной хрени.

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

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

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

вейланд в виртуалке не идёт, например

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

2) потоки - только через pthreads

я сразу две реализации libpthread для винды знаю :)

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

контрпример: кде, который под виндой непривычен

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

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

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

anonymous
()

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

anonymous
()

зафигач туда вовнутрь вирусняков виндовых всяких

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

винд-онли ПО способствует популяризации оффтопика, линукс-онли — линукса

И что же ты такое уникальное разрабатываешь?

djambeyshik ★★★★★
()

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

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

А так даже виндузятники будут пилить софт например на Qt

И прибивать его к винде, компилировать только в exe.

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

На маке аппстор давно не самый предпочитаемый способ распространения аппов.

Deleted
()

Поздравляю ТС с выходом на новый уровень фанатизма. Похлопаем.

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