Обновить
166
0
John Found@johnfound

Инженер автоматизации

Отправить сообщение

Я выбираю продукты каноникал потому что в случае проблем - 99% решений будет на эти популярные дистрибутивы.

Кстати, я не знаю почему именно Убунту так популярна в России, но посмотрите на DistroWatch – Убунту давно уже не так уж и популярна. Теперь популярны совсем другие дистрибутивы.

Ну, экономика меняется на глазах – привыкайте к коммунизму. Он вот так выглядит (а не как писали классики марксизма) – энтузиасты делают как им нравится и как им лучше, а за деньги получается плохо и дорого.

шрифт для эмуляций терминала в Х настраивается несколькими способами (~/.Xresources, ком.строка, свой конфиг), зависят от реализации.

Конечно, но все равно, между символами рисовать нельзя. Я этого имел ввиду, когда говорил что плотность низкая.

Понимаете ли, вы рассуждаете примерно так: «Я пользователь, мне нужно чтобы все работало. Наверное какая-то компания сделает продукт для меня, потому что она делает на это деньги и наверное чтобы делать больше денег, будет все усилия полагать чтобы сделать продукт лучшего качества.» – из за этого и выбираете продукты корпораций. Что МС, что Каноникал.

И даже если вы так и не рассуждали, то так рассуждали те кто вас посоветовал.

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

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

Это не Линукс виноват, а Убунту. Я с ними покончил окончательно несколько лет назад, когда не спрашивая снесли весь мой десктоп и установили какое-то странное чудо. Убунту, это корпорация Каноникал. И точно как и MS они лучше знают что вам нужно (включительно вот такие вот истории).

Рекомендую просто использовать только и единственно дистрибуции которые не крутятся вокруг корпораций. Arch например. Можно Manjaro. Если Убунту так нравится, то Mint. (Хотя, я с Mинта тоже съехал – явно Каноникал им тоже влияют плохо).

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

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

а разве в исходники нельзя добавить функцию которая будет каким-то образом шпионить, или вообще будет вирусом

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

То что дисплей №1 не проблема. Проблема была в отсутствующей точке – обычно пишут «1.0». А я строку разбирал неправильно. Сейчас исправлю.

В России действительно великолепное образование по сравнению с Болгарией например. А у нас оно строго по стандартам ЕС. Просто вы не цените то что имеете. И да, если отменить ЕГЭ, дела только улучшатся.

Ставить из исходников не разрешил заказчик.

А я вот хотел спросить «Зачем???». Ведь скомпилировать из исходников это самый безопасный из всех вариантов. Какие могут быть мотивы чтобы запрещать этого?

А попробуйте-ка вот так:

env DISPLAY=:1. ./Fresh3

Спасибо, сейчас посмотрю... Получается что программа правильно соединяется с сервером, но не находит файл .Xаuthority или не успевает его распарсить правильно и извлечь правильные данные для обмена с сервером. Какая у вас переменная окружения XAUTHORITY? Существует ли этот файл и какие у него права доступа?

Попробовал, работает под FreeBSD 13.2. Спасибо!

Спасибо! Теперь смогу утверждать, что Fresh3 работает и в FreeBSD. :D

А есть ли в вашей IDE встроенный дебаггер/дисассемблер ? Я бы использовал его для дисассемблирования всякой старой всячины. Мне когда-то сильно нравился AFD.

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

@checkpoint: Я сделал какие-то изменения, чтобы не зависеть от PER_LINUX32_3GB. Если вам не надоело, попробуйте опять запустить скрипт чтобы скачал изменения и скомпилировал Fresh3 снова. Теперь должно работать у вас. (если я все правильно сделал, конечно).

И при этом даже из gdb я так и не смог пока выжать срабатывания ни одной аппаратной точки, хотя он и писал мне строки вроде «Hardware assisted breakpoint 1(-probe 0x401200) pending».

Посмотрите на edb - у него аппаратные точки прерывания работают. Да и хороший, годный дебаггер. Чего с gdb возиться?

Забыли про Ричарда Хиппа! Он в десятку точно входит и не в конце.

Это кстати был единственный режим в 32 битных версиях Линукса. Потому что 1GB был нужен операционной системе. Это в 64 битный Линукс легко выделить все 4ГБ для приложения.

Кстати, ваша идея неплохая. Подумаю насчет ее...

Оно и есть. Программа просто не может переключится в 3G personality и поэтому бесконечно циклит. Но да, надо сделать обработку ошибки лучше.

Хочу поинтересоваться чем вызвана необходимость в sys_personality ?

Потому что мне нужно чтобы для программы выделялось адресное пространство в 3GB. Дело в том, что там есть библиотека strlib, для работы с динамическими строками. А динамические строки идентифицируются не по адресу, потому что он меняется, а по ID. Но так как я хочу чтобы все функции работали и с динамическими строками и с статическими по адресу, приходится как-то разделят одни от других. Так этот 1GB адресного пространства выделен для идентификаторов строк. А когда все пространство может быть памятью то и определить что динамическая строка, а что статическая никак нельзя.

Ну, библиотеке надо чтобы адресное пространство было 3GB. Поэтому и при загрузке переключается вот так:

        DebugMsg "Switch to 3GB address space."

        mov     eax, sys_personality
        mov     ebx, PER_LINUX32_3GB
        int     $80

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность