LINUX.ORG.RU

Избранные сообщения yars068

Настраиваем Asterisk на собственном VPS для голосовых/видео вызовов и текстовых сообщений

Статьи — Администрирование

Ниже — руководство + полный установочный скрипт для Debian 12, собирающий Asterisk 22.5.1 из исходников, включающий TLS + SRTP, 3 абонента (1001–1003), блокировку анонимов, короткие сообщения (SIP MESSAGE) для Linphone, и видеозвонки по H.264.

Скрипт автоматически учитывает NAT: если задать локальную сеть — пропишет external_* и local_net; если не задавать — считает, что сервер не за NAT.

( читать дальше... )

 , ,

unclestephen
()

Документация к языкам программирования

Форум — Development

Всевозможные учебники и книги - это хорошо, но обычно их предлагают купить и часто не совсем дёшево, даже если они описывают базовый уровень. Бесплатным решением, очевидно, является официальная документация. Когда я открыл документацию к python, я был приятно удивлён, что она написана практически как учебник. Для Java вроде бы тоже всё относительно неплохо в этом плане, хотя хотелось бы отдельный оффлайновый pdf.

Мне захотелось скачать себе документацию в подобном виде для C и C++. Зашёл на их официальные сайты, там описание стандарта предлагают получить на сайте ISO за немалые суммы денег. Да и само описание стандарта далеко не для обучения. Хорошо, подумал я, попробую тогда посмотреть документацию к одной из реализаций языка - GCC-CPP, и вижу, что описанное там тоже вовсе не подходит для обучения. Даже описания типов и примеров объявления нет (может плохо искал, но в заголовках не заметил).

Нет, это не тред «подскажите книгу по Сям», таких для начинающих я и сам могу гору насоветовать.

Вопрос следующий: существует ли нормальная доступная бесплатная документация по которой можно изучать C, C++? Официальная документация по другим языкам была бы тоже интересна.


Update

C, C++
Online-ресурсы и учебные пособия для начинающих:

Как дополнение: Рабочая версия стандарта C++14 от 19 ноября 2014 г. (с официального сайта стандарта)


Fortran


Python
В дополнение к официальной документациипереводу руководства Python 3.1):


Object Pascal. Lazarus

Перемещено Klymedy из talks

 , , , ,

grem
()

Предварительный этап в Makefile

Форум — Development

Приветствую.

Есть следующая структура каталогов:

.
├── interrupts
│   ├── handlers
│   │   ├── file.a65
│   │   └── Makefile // Вложенный
│   └── Makefile // Вложенный
├── defines.mk
├── common.mk
└── Makefile // Корневой

В первую очередь, файл defines.mk:

PROJECT_NAME = xxx

PROG_AS ?= ca65
PROG_LD ?= ld65
PROG_DOX ?= doxygen
PROG_RM ?= rm -f
PROG_MV ?= mv -f
PROG_MKDIR ?= mkdir -p
PROG_FIND ?= find
PROG_MAKE ?= make

DIR_BUILD ?= build

Файл common.mk

TARGET_SUBMAKE = $(shell \
	$(PROG_FIND) \
	. \
	-mindepth 2 \
	-type f \
	-name Makefile \
	-printf '%h\n' \
)

TARGET_SRC = $(shell \
	$(PROG_FIND) \
	. \
	-maxdepth 1 \
	-type f \
	-name '*.a65' \
	-printf '%f\n' \
)

TARGET_OBJ = $(patsubst \
	%.a65, \
	$(DIR_BUILD)/$(PROJECT_NAME)/%.o, \
	$(TARGET_SRC) \
)

.PHONY: all $(PROJECT_NAME) $(TARGET_SUBMAKE)

$(DIR_BUILD)/$(PROJECT_NAME)/%.o : %.a65
	$(PROG_MKDIR) \
	    $(DIR_BUILD)/$(PROJECT_NAME)
	$(PROG_AS) \
	    -o $@ \
	    $<

$(TARGET_SUBMAKE):
	$(PROG_MAKE) \
	    -C $@ \
	    MAKEFILE_DEF=$(MAKEFILE_DEF) \
	    MAKEFILE_COMMON=$(MAKEFILE_COMMON) \
	    DIR_BUILD=$(DIR_BUILD)

$(PROJECT_NAME): $(TARGET_SUBMAKE) $(TARGET_OBJ)

all: $(PROJECT_NAME)

Корневой Makefile

MAKEFILE_DEF    := $(CURDIR)/defines.mk
MAKEFILE_COMMON := $(CURDIR)/common.mk

include $(MAKEFILE_DEF)
include $(MAKEFILE_COMMON)

.PHONY: doc clean

all: doc

doc:
	$(PROG_DOX) Doxygen

clean:
	$(PROG_RM) $(DIR_BUILD)/$(PROJECT)/*.o

Вложенные Makefile (все одинаковые)

include $(MAKEFILE_DEF)
include $(MAKEFILE_COMMON)

Итак, в чём вопросы:

1

Оно сейчас работает. Но меня не устраивает, что оно на каждый файл вызывает создание целевого каталога (см.

$(DIR_BUILD)/$(PROJECT_NAME)/%.o : %.a65
	$(PROG_MKDIR) \
	    $(DIR_BUILD)/$(PROJECT_NAME)
	...

). Что я пытался сделать: а) Вынести mkdir в отдельный сегмент и вызывать как $(DIR_BUILD)/$(PROJECT_NAME)/%.o : %.a65 | build-dir
б) Вынести mkdir в отдельный сегмент и вызывать тут: $(PROJECT_NAME): build-dir $(TARGET_SUBMAKE) $(TARGET_OBJ)

Оба варианта приводят к тому, что при вызове корневого make он просто создаёт директорию и даже не пытается заходить в дочерние Makefile.

2

Приветствуется общая критика. Я не эксперт в make, соответственно буду рад услышать, что я делаю не так.

P.S. Сразу уточню насчёт build директории. «Корневой» makefile на самом деле тоже не корневой и его вызывают выше с

DIR_BUILD := $(CURDIR)/build

make -C code/xxx DIR_BUILD=$(DIR_BUILD)

 ,

PPP328
()

Основы реверс-инжиниринга Android-приложений

Статьи — Разработка
Основы реверс-инжиниринга Android-приложений

Как известно, Android — это тоже Linux, основной особенностью которого является то, что он позволяет устанавливать приложения только на Java/Kotlin в формате apk, запускаемые через свою реализацию JVM — своего рода песочницу. Раз уж это Linux, то и запускать его можно через стандартные средства — LXC-контейнеры, как это делается в том же Waydroid. Главный плюс такого подхода в отличие от реального устройства — полный доступ к файловой системе, что эквивалентно рут-доступу. На реальном устройстве получить рут-права с помощью Magisk несложно, но это приводит к утрате данных вместе с ключом шифрования от sd-карты, хотя их можно и восстановить, если был бекап. Однако большей проблемой является то, что из-за этого перестают запускаться те же банковские приложения…

( читать дальше... )

 ,

rtxtxtrx
()

X11 robustness: DRI3 без аппаратного ускорения

Статьи — Разработка
X11 robustness: DRI3 без аппаратного ускорения

Уже больше 5 лет как использую разные GPU от AMD и сталкиваюсь с разнообразными проблемами, приводящими к его зависанию. К сожалению, в современном линуксовом десктопе, особенно на AMD зависание GPU зачастую не получается обработать прозрачно для софта. В лучшем случае могут попортиться данные, связанные с активными задачами, в худшем - gpu вообще становится неработоспособен до снятия питания (этим грешили некоторые APU на gfx9)

Успешный GPU Reset

Если в случае с неработоспособным GPU другого выхода, кроме как отказ от него нет, дискретные GPU обычно могут успешно пройти сброс.

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

На rdna2 же обычно содержимое vram остаётся целым, однако не всегда. С некоторой вероятностью обнаруживается периодический мусор после сброса, обычно в этом случае попытка использовать работающие с GPU приложениями приведёт к повторному зависанию. В общем, никаких гарантий нет и по хорошему все GPU клиенты должны пересоздать все контексты с нуля

( читать дальше... )

 , , ,

mittorn
()

EasyEffects не нужно, или PipeWire для продвинутых: часть 4

Статьи — Desktop

Спатиалайзер для наушников

Вы когда-нибудь задумывались, чем прослушивание музыки через наушники, отличается от прослушивания музыки через колонки? Основное отличие – когда мы в наушниках, то левое ухо слышит только звук левого наушника (левый стерео канал), и совсем не слышит звук правого. И наоборот. Когда мы слушаем колонки, то оба уха слышат обе колонки, но по-разному. Из-за этого простого факта, восприятие стерео-сцены в наушниках и через колонки, радикально отличается.

И возникает существенная проблема – а на что должна быть расчитана запись, на прослушивание в наушниках, или в колонках? Индустрия выбирает колонки, как основной источник звука, и все делается в расчете на них. А в наушниках мы будем слышать неправильное стерео, сильно искаженное.

Но у нас же есть pipewire, поэтому не беда, сейчас мы это исправим! В этой и следующей статье, мы заставим звучать наушники как колонки, а колонки как наушники (ну почти)!

( читать дальше... )

 , ,

James_Holden
()

EasyEffects не нужно, или PipeWire для продвинутых: часть 1

Статьи — Desktop

ВСТУПЛЕНИЕ

Звуковая система PipeWire принесла, без преувеличения, революцию в мир десктопно-мультимедийного Linux. Наконец то эта ОС получила продуманную, сделанную по уму понимающими в теме людьми, и сделанную качественно звуковую систему. Многие ее возможности присутствовали и раньше, в других более старых звуковых системах, но в PipeWire они собраны воедино и сформировали целую единую платформу, на которой можно реализовать огромное количество самых разных задач.

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

( читать дальше... )

 , ,

James_Holden
()

EasyEffects не нужно, или PipeWire для продвинутых: часть 2

Статьи — Desktop

В первой части мы создали конфиг-файл, который добавляет 15-полосный эквалайзер в граф PipeWire. Теперь разберем вопрос, а как же изменять его параметры на лету, без перезапуска PipeWire. Вопрос очень животрепещущий, редакция завалена письмами с ним. ))

В этой части мы разберем задачу на «низком» уровне CLI-утилит. На этой базе несложно сделать любой GUI-фронтенд, который позволит управлять параметрами уже из GUI.

( читать дальше... )

 , ,

James_Holden
()

GCLI 2.6.0

Новости — Разработка
GCLI 2.6.0
Группа Разработка

4 января, после более пяти месяцев разработки, состоялся выпуск 2.6.0 консольной утилиты GCLI, написанной на языке C и распространяемой по лицензии BSD-2. Утилита предназначена для взаимодействия с API нескольких популярных сервисов хостинга Git-проектов и позволяет создавать, просматривать и взаимодействовать с проблемами, запросами на слияние и метками и комментариями к ним; проверять состояние CI и конвейеров, и многое другое.
И, в отличие от GitHub CLI, GCLI поддерживает не только API GitHub, но и API GitLab, Gitea и, экспериментально, Bugzilla.

( читать дальше... )

>>> Список изменений версии 2.6.0 на GitHub

 , , , ,

dataman
()

EasyEffects не нужно, или PipeWire для продвинутых: часть 3

Статьи — Desktop

Во второй части мы разобрали вопрос, как управлять параметрами эффектов в реальном времени, без перезапуска PipeWire.

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

( читать дальше... )

 , ,

James_Holden
()

EVO870, «187 Reported_Uncorrect» и обнуление

Форум — Linux-hardware

Стал у меня в начале (склероз: не этого, прошлого) года сбоить EVO870 на терабайт. Заметил по периодическим сбоям на ровном месте, оказывается — ошибки чтения. На нём была только сама ОС и игры, так что заменил без особых потерь. Симптомы простые — в нескольких местах на диске обнаружились локации, откуда ничего не читалось без ошибки. Т.е. никаких этих вот «ssd сбоит, но даёт прочитать хотя бы» — нет, тупо битые файлы, копирование виснет, а «187 Reported_Uncorrect» растёт как на дрожжах. Часть этих зон пришлась на файлы с играми, а некоторые на содержимое /usr. Но поскольку ничего ключевого затронуто не было, то я долго думал, что просто Steam лажает, например.

Если посмотреть SMART, то было примерно так:

ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  5 Reallocated_Sector_Ct   0x0033   045   045   010    Pre-fail  Always       -       606
  9 Power_On_Hours          0x0032   098   098   000    Old_age   Always       -       9136
 12 Power_Cycle_Count       0x0032   098   098   000    Old_age   Always       -       1995
177 Wear_Leveling_Count     0x0013   099   099   000    Pre-fail  Always       -       3
179 Used_Rsvd_Blk_Cnt_Tot   0x0013   045   045   010    Pre-fail  Always       -       606
181 Program_Fail_Cnt_Total  0x0032   100   100   010    Old_age   Always       -       0
182 Erase_Fail_Count_Total  0x0032   100   100   010    Old_age   Always       -       0
183 Runtime_Bad_Block       0x0013   045   045   010    Pre-fail  Always       -       606
187 Reported_Uncorrect      0x0032   098   098   000    Old_age   Always       -       14609
190 Airflow_Temperature_Cel 0x0032   064   055   000    Old_age   Always       -       36
195 Hardware_ECC_Recovered  0x001a   199   199   000    Old_age   Always       -       14609
199 UDMA_CRC_Error_Count    0x003e   099   099   000    Old_age   Always       -       3
235 Unknown_Attribute       0x0012   099   099   000    Old_age   Always       -       9
241 Total_LBAs_Written      0x0032   099   099   000    Old_age   Always       -       4293672984


А потом собстсвенно логи последних из этих 14609 ошибок. Примерно так (если что, здесь и выше значения уже после моих сегодняшних экспериментов, на момент начала было где-то 13 тыщ):
Error 14609 occurred at disk power-on lifetime: 9135 hours (380 days + 15 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 08 90 69 47 40

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  e1 00 0f 00 00 00 40 00      01:22:44.593  IDLE IMMEDIATE
  ef 03 46 00 00 00 40 00      01:22:44.593  SET FEATURES [Set transfer mode]
  ef 02 00 00 00 00 40 00      01:22:44.593  SET FEATURES [Enable write cache]
  e1 00 02 00 00 00 40 00      01:22:44.593  IDLE IMMEDIATE
  ec 00 01 00 00 00 40 00      01:22:44.593  IDENTIFY DEVICE

Error 14608 occurred at disk power-on lifetime: 9135 hours (380 days + 15 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  00 51 01 10 00 00 00  Error:  at LBA = 0x00000010 = 16

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  60 08 00 90 69 47 00 00      01:22:44.005  READ FPDMA QUEUED
  60 08 00 88 69 47 00 00      01:22:44.005  READ FPDMA QUEUED
  60 08 00 80 69 47 00 00      01:22:44.005  READ FPDMA QUEUED
  60 08 00 78 69 47 00 00      01:22:44.005  READ FPDMA QUEUED
  60 08 00 70 69 47 00 00      01:22:44.005  READ FPDMA QUEUED

Error 14607 occurred at disk power-on lifetime: 9135 hours (380 days + 15 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  00 51 08 00 6a 47 40  Error:  at LBA = 0x00476a00 = 4680192

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  60 00 00 00 69 47 40 00      01:22:11.833  READ FPDMA QUEUED
  60 00 08 00 68 47 40 01      01:22:11.833  READ FPDMA QUEUED
  60 00 00 00 67 47 40 00      01:22:11.833  READ FPDMA QUEUED
  60 00 00 00 66 47 40 00      01:22:11.833  READ FPDMA QUEUED
  60 00 00 00 65 47 40 00      01:22:11.833  READ FPDMA QUEUED


Погуглил я тогда интернеты, и нашёл, что на серию 870EVO есть жалобы по всему развитому миру. То ли кремний самсунгу завезли грязный, то ли чихнул кто в стерильной зоне, но чипы памяти вышли сбойные, и SSD стали отказывать по моему сценарию.

Ну я его на полочку положил, да и как-то забыл, благо гарантия до 2026. Вдруг что ещё придумаю. Ну вот сегодня решил придумать. Подключил его, стал делать смарт-тесты. И длинный, и короткий завершались досрочно с ошибкой чтения:

Self-test execution status:      ( 121)	The previous self-test completed having
					the read element of the test failed.

...

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed: read failure       80%      9137         10544288
# 2  Extended offline    Completed: read failure       90%      9137         10544288
# 3  Extended offline    Completed: read failure       90%      9136         10544288
# 4  Short offline       Completed: read failure       80%      9136         10544288
# 5  Short offline       Completed: read failure       80%      9136         10544288


Стал смотреть badblocks. Он довольно резво начал выплёвывать номера:
smacker@Ideapad510 ~ $ sudo badblocks -v /dev/sdc
Checking blocks 0 to 976762583
Checking for bad blocks (read-only test): 5272132
5272144
5272145
5272146
5272147
5274296
5274297
5274298
5274299
5274516
5274517
5274518
5274519
5276096
5276097
5276098
5276099
5279436
...

Ну я попробовал «полечить» через hdparm (hdparm --repair-sector 5272144 --yes-i-know-what-i-am-doing /dev/sdc), не преуспел. Он снова стал всплывать. Всё это время значение в поле 187 SMART только росло.

Ну тут я психанул и забил диск терабайтом нулей с помощью dd. И что же? А рост закончился. Я запустил badblocks... и он прошелестел всем диском, и ничего не нашёл. Я запустил тест SMART... и он тоже завершился удачно:

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%      9139         -
# 2  Short offline       Completed without error       00%      9138         -
# 3  Short offline       Completed: read failure       80%      9137         10544288
# 4  Short offline       Completed: read failure       80%      9137         10544288
# 5  Extended offline    Completed: read failure       90%      9137         10544288
# 6  Extended offline    Completed: read failure       90%      9136         10544288
# 7  Short offline       Completed: read failure       80%      9136         10544288
# 8  Short offline       Completed: read failure       80%      9136         10544288


Сейчас статистика застыла на таких значениях:
Self-test execution status:      (   0)	The previous self-test routine completed
					without error or no self-test has ever 
					been run.

ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  5 Reallocated_Sector_Ct   0x0033   045   045   010    Pre-fail  Always       -       606
  9 Power_On_Hours          0x0032   098   098   000    Old_age   Always       -       9139
 12 Power_Cycle_Count       0x0032   098   098   000    Old_age   Always       -       1996
177 Wear_Leveling_Count     0x0013   099   099   000    Pre-fail  Always       -       4
179 Used_Rsvd_Blk_Cnt_Tot   0x0013   045   045   010    Pre-fail  Always       -       606
181 Program_Fail_Cnt_Total  0x0032   100   100   010    Old_age   Always       -       0
182 Erase_Fail_Count_Total  0x0032   100   100   010    Old_age   Always       -       0
183 Runtime_Bad_Block       0x0013   045   045   010    Pre-fail  Always       -       606
187 Reported_Uncorrect      0x0032   098   098   000    Old_age   Always       -       15972
190 Airflow_Temperature_Cel 0x0032   070   047   000    Old_age   Always       -       30
195 Hardware_ECC_Recovered  0x001a   199   199   000    Old_age   Always       -       15972
199 UDMA_CRC_Error_Count    0x003e   099   099   000    Old_age   Always       -       3
235 Unknown_Attribute       0x0012   099   099   000    Old_age   Always       -       10
241 Total_LBAs_Written      0x0032   099   099   000    Old_age   Always       -       6251131313


И вроде бы больше ничего не происходит (например, поле 187 не изменилось уже после прохода badblocks по всему диску).

А теперь, уважаемые знатоки — внимание, вопрос: диск выздоровел (перемапил сбойные области, я уж не знаю, т.к. «5 Reallocated_Sector_Ct» застыл на 606), или ему временно полегчало напоследок, чтобы он мог позвать близких к смертному одру?

 870evo, , , ,

Smacker
()

Случилась беда с KRoN73

Новости — Linux.org.ru
Группа Linux.org.ru

KRoN73 RIP

Всё написанное ниже уже неактуально :(

Друзья. Под новогодние праздники (с 29 на 30) случилась ужасная беда со старейшим участником форума - KRoN73.

( Подробности... )

Я никогда не делал подобные обращения, поэтому не знаю, что писать и немного (на самом деле много) растерян.

( Как помочь... )

>>> Оригинальный тред

 ,

shell-script
()

Бинарные сборки Wine

Форум — General

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

Чтобы предотвратить это неудобство, я с некоторых пор делаю бинарные сборки Wine и выкладываю их для всех желающих. Располагаются они здесь. Когда задумывал это, то вдохновлялся примером PlayOnLinux, которые тоже делают собственные бинарные сборки Wine, но обладают некоторыми недостатками:

  1. Выходят нерегулярно.
  2. Скрипта, который их формирует, я так и не нашел.
  3. Мне нужна еще версия с патчами Staging, а они не для каждой версии их делают.

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

Преимущество бинарных сборок:

  1. Идут практически любом современном дистрибутиве. За абсолютно все дистрибутивы любой давности ручаться не буду, сам проверял только на паре дистрибутивов, поэтому хотелось бы чтобы вы их протестировали и подтвердили или опровергли это утверждение.
  2. Для использования не требуется ничего, установленных зависимостей для Wine. Сам системный Wine при этом даже необязателен.
  3. Можно иметь хоть с десяток разных версий Wine для разных программ и с легкостью переключаться между ними без каких-то переустановок. Чтобы установить бинарную сборку, достаточно лишь ее распаковать в любой каталог.

В процессе создания бинарных сборок я целенаправленно не применял никаких сторонних патчей. В версии с патчами Staging присутствует только набор патчей из Staging и больше ничего. В ванильной версии не применяются никакие патчи. Даже несмотря на то, что начиная с какой-то версии из ветки 1.9.x Wine стало невозможно скомпиллировать с помощью gcc 5.3.0 и патч довольно оперативно написали, я предпочел откатиться до gcc 4.8.5, чем применять этот патч. Сомневающимся могу порекомендовать скачать мой скрипт, собрать Wine самому с помощью gcc 4.8.5 и после чего сравнить свой хэш получившегося архива с моим.

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

И еще раз ссылки:

  1. Сайт с бинарными сборками Wine
  2. Скрипт, по которому они формируются

P.S. Перед использованием скрипта отредактируйте его и измените содержимое переменных WORKDIR (каталог, в котором будет компиллироваться Wine) и GCC_VERSION (версия GCC, которая применяется для сборки) в соответствии со своими предпочтениями. А то там сейчас стоят мои значения.

Обновлено 04.02.17:
В связи с тем, что после выхода Wine 2.0 сменилась нумерация промежуточных версий (промежуточная версия теперь 2.1 и все исходники будут лежать в папке 2.x и еще они сменили формат архива), то скрипт для сборки разделен. Скрипт wine_build_1.9.x-2.0.sh - для сборки всех предыдущих версий Wine до версии 2.0 включительно и wine_build-2.x.sh - для всех версий после 2.0. Да, это неудобно. Но это лучше, чем если бы в одном скрипте писать кучу костылей по парсингу мажорной версии, минорной версии и их какого-то совмещения. Размер скрипта значительно увеличился бы, он стал бы трудночитаемым и вряд ли это решение было бы совсем безглючным.

Обновлено 25.10.18:
Я закрываю формирование бинарных сборок в связи с тем, что Wine в последнее время оброс сторонними патчсетами, вроде esync, да и самому мне это все надоело. К тому же появился Steam Play. Все предыдущие сборки вы можете скачать отсюда, но новые формироваться вряд ли будут. Там же вы найдете скрипт, с помощью которого можно будет сделать свою собственную сборку.

Обновлено 24.10.20:
В силу некоторых причин пришлось снова расчехлить мой скрипт для формирования бинарных сборок. Только сами бинарные сборки я выкладывать не буду: мне и влом, и места на хостинге жалко, да и проблемы совместимости с разными версиями glibc в разных дистрибутивах.
Вместо этого я адаптировал сам скрипт согласно современным реалиям и выложил его на GitHub - пользуйтесь, если хотите. Скрипт пришлось практически полностью переписать, убрать костыли, а заодно и поддержку сборки из git. Для сборки из git надо писать отдельный скрипт, поскольку там другие пути и сценарии распаковки и сборки. Может займусь этим когда-нибудь.

 ,

Rinaldus
()

Midori - можно ли переместить панель с табами вниз?

Форум — General

Всем привет

Присматриваюсь к Midori browser. Практически всё устраивает. Только вот я привык, что панель с табами внизу. Это можно как-то реализовать?

Да, и есть ли там какой-то режим тонкой настройки типа opera:config (в firefox тоже что-то подобное было).

 

Kroz
()

Debian, игнор репозитория. Каковы причины?

Форум — Desktop

При обновлении выдало: Игнор http://ftp.se.debian.org jessie InRelease А ведь это не какой-нибудь второстепенный репозиторий. И он почему-то стал игнорироваться. Ничего не менял и ничего не устанавливал. За что отвечает этот репозиторий ? И почему он начал игнорироваться?

Debian 8.2 (jessie)

 , , ,

spellman
()

Что вы используете для защиты своего сёрфинга в Интернете?

Голосования — Голосования

Вот решил подумать об анонимном, удобном и безопасном сёрфинге и узнать чем ЛОРовцы пользуются...

  1. Плагин AdBlock (или аналоги) 754 (67%)

    ********************************************************************************************************************************************************************************************************************************************************************************************************************************

  2. TOR 356 (32%)

    *******************************************************************************************************************************************************

  3. Режим анонимности в браузере 356 (32%)

    *******************************************************************************************************************************************************

  4. Использую несколько браузеров для разных целей 298 (26%)

    ******************************************************************************************************************************

  5. Плагины NoScript (ScriptSafe или аналоги) 266 (24%)

    ****************************************************************************************************************

  6. HTTPS only 254 (23%)

    ***********************************************************************************************************

  7. VPN 226 (20%)

    ***********************************************************************************************

  8. Мне это не нужно, ничем не пользуюсь 226 (20%)

    ***********************************************************************************************

  9. Я везде анонимен и не использую соц.сети 128 (11%)

    ******************************************************

  10. Плагин Privacy Badger 69 (6%)

    *****************************

  11. Для личного общение использую GPG 66 (6%)

    ****************************

  12. Полностью блокирую куки 44 (4%)

    ******************

Всего голосов: 3043, всего проголосовавших: 1127

 , ,

Promusik
()

FreshPlayerPlugin — PepperFlash в Firefox

Форум — Development

Flash плеер всё заменяют и заменяют, но никак не заменят полностью. Новые и сверхновые фичи браузеров это замечательно, но Flash бывает всё ещё нужен. К сожалению, доступная NPAPI браузерам версия застыла на 11.2, а новые версии выходят только в составе Chrome. Поэтому я делаю адаптер, который сможет быть посредником между PPAPI плагином и NPAPI браузером. Это такая штука, которая позволит использовать свежий Flash в Firefox, Opera и других браузерах, в которых работают плагины.

https://github.com/i-rinat/freshplayerplugin

 , , , , ppapi

i-rinat
()

Меня окончательно и бесповоротно достал 12309

Форум — Desktop

Я уже писал о том, что на моем компьютере периодически возникает 12309. Многие не верят, ибо у них «всё работает». Если у вас всё работает отлично, и это всё, что вы хотите сказать - пожалуйста, не говорите ничего.

У меня тоже всё работает. До поры до времени. Как только потребление ОЗУ вырастает до 70% и более, а CPU непрерывно загружен (хоть и не до упора), то любая, даже самая незначительная дисковая операция занимает достаточно много времени и приводит к тормозам ВСЕГО.

Буквально только что (т.е. за 20 минут до написания этого сообщения) игрался я в CSGO от нечего делать. Посреди игры (уже минут 10 прошло) неведомое нечто начинает усиленно обращаться к винчестеру. Неведомое нечто не может быть чем-то очевидным, ибо всевозможные обвновления/синхронизации/и т.д. я поотключал, а кроме steam и самой игры ничего запущено не было. В результате начинаются жесткие фризы, а через несколько секунд компьютер превращается в состояние овоща - не реагирует ни на что, картинка на мониторе замерла, а звуковая карта зацикленно играет короткий семпл. Только reset.

В этот момент у меня было была одна мысль в голове: «Что, б****? Что за херня?»
А всё дело в том, что подобное состояние системы я последний раз наблюдал на венде несколько лет назад, да и то - на чужом компьютере. А теперь вендоподобные проблемы на моем собственном пк!

Я не знаю, 12309 ли это, либо другой баг, связанный с дисковой производительностью во время заполненного ОЗУ... меня это уже не волнует.

Хочу спросить совета: что делать?

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

Из возможных вариантов:

1) Выбросить linux и пересесть на винду. (работать в винде для меня просто тошнотворно, не вариант)
2) Доставить в дуалбут винду, играть исключительно в винде, всё остальное - в linux (сам факт дуалбута будет мусолить мою душу, а в снах я буду видеть себя типичным школьником, который хвастается свеженькой ubuntu)
3) Заменить шедулер на BFS. (поможет ли?)
4) Просто обновить ядро на более свежее (у меня стоит 3.13.0-24-generic - стоковое для linux mint 17. Опять же - поможет ли? Думаю нет, т.к. разрабы ядра давно пометили проблему как «решенную»)
5) Заменить дистрибутив linux на что-то сверхминималистичное - чистый Xorg, драйвера на видокарту, steam, а нормальное пользование системой вместе с повседневными задачами перенести в freebsd. (несмотря на то, что freebsd я уже научился готовить до вменяемого состояния, в отличие от pcbsd, лол но там всё еще есть некоторые мелкие неприятности, которые надо решать. Да и опять таки, дуалбут, мать его за ногу)
6) Забить на игры (чем развлекаться? пить пивко во дворе? я не пью)
7) Ваш вариант?

P.S. Как мне теперь смотреть в глаза людям, которым я советовал linux? А тем, которым ставил? Что я за дурак был тогда...
P.P.S. Да, я уже думал заменить home на удаленный каталог средствами ufs. Но это скорее удобный костыль, да и на всю систему ufs не поставить...

 ,

reprimand
()

apulse

Форум — Development

Everyone! Listen up! Today... today...

$ apulse <program-name> [program parameters]

https://github.com/i-rinat/apulse — эмуляция PulseAudio. Когда приложение пытается загрузить libpulse.so, ему подсовывают её версию от apulse, в которой реализована часть функций, достаточная, чтобы запустить Skype и некоторый другой софт.

 ,

i-rinat
()

дайте мне модератора

Форум — Linux-org-ru

я буду удалять тупняк.

dikiy
()