From-windows-to-Manjaro-or-.../two.md
2025-01-03 03:30:07 +03:00

22 KiB
Raw Blame History

Прошлый файл был "цивильным". Этот будет "горящим".

(И на русском, потому что всем в каноникле и минте насрать - wontfixы у них там)

Сразу скажу, что я ставил и удалял кучу всяких DE после того как поставил систему.
Поэтому у меня остались следы и проблемы от Gnome (без него вообще хер что работает), UKUI, Unity.
Остановился на Cinnamon

  • Переключение языков не работает

    Стандартная панель цитрамона показывает говно. Оно вседа EN независимо от настроек.
    Всякие "умники", которые переустанавливали шиндовс в нулевых, скажут, что это следствие кучи DE.
    Только вот чинится всё добавилением апплета с флажком раскладки, который называется Клавиатура (keyboard@cinnamon.org).
    А нерабочая иконка - от iBus 1.5.29-rc2. Зачем оно там, если не работает - хз, но проблема общая для Deepin и Bazzit. Скорее всего разрабы тупо используют английский как елинственный язык. FT.

  • Опять скриншоты, теперь в Cinnamon

    Во-первых, это говно всё равно юзает gnome-screenshot, несмотря на "свою" DE.
    Чинить так:

    • открываем "блокнот" и пишем туда вот так
    gnome-screenshot -a -c -f ~/Изображения/Screenshots/Screenshot_"$(date -d "today" +"%d.%m.%y - %H_%M_%S").png"
    
    • сохраняем где-нибудь и даём права на выполнение (можно chmod, можно через гуй)
    • ищём в меню клавиатура/keyboard
    • идём в доп. комбинации клавиш
    • вешаем на Win/Super+Shift+S команду выполнения файла со скриптом (тот, что лежить в где-нибудь)

    Почему так?

    • Потому что хрень, которая вызывает gnome-screenhot, не умеет работать с переменными так же, как это умеет аналогичная хрень в xfce.
    • Твики /org/gnome/gnome-screenshot/auto-save-directory становятся бесполнезными, если вам надо и скрин сделать и в буере его поиметь.
    • А это потому, что dfonf-editor (или как там его) не даёт сохранить скриншоты, которые идут в буфер обмена. С окнами и цеоым столом работает.
  • Codium & Chrome

    Ставим из deb пакетов в обход snap. Говно этот ваш снап.

  • Эмули

    Ставим AppImage'ы и не дуем в ус. Касается PS2/PS3 и дебильного недогуя RetroArch

  • Steam

    Оно просто работает. Гавное, чтобы игры были не на NTFS томе. Стим-Твикер-как-его-там для запуска SpecialK не нужен (он в принципе не нужен).

    ВНИМАНИЕ
    Папка Стима по-молчанию находится в ~/.local/share/steam, но после обновления ставится snap версия, и всё переезжает в ~/snap/steam/common/.local/share/Steam
    Игры при этом проложают работать, включая перенос сейвов и SpecialK.

  • Кстати, о SpecialK

    • Качаем себе SpecialK.7z из релизов
    • выбираем dllку в зависимости от разрядности игры
    • распаковываем её в папку с игрой (где экзэшник)
    • перименовываем dllку в dxgi.dll или что-нибудь ещё (см. репу SpecialK)
    • После первого запуска, в папке с игрой появится SK_Res - туда можно кидать текстуры для подмены
  • Пароли и keyring

    Моё любимое.
    Когда челу говорят "поиграйся с live системой, пока не решил поставить", он может попробовать много чего.
    И это "много чего" сохранится в уже установленной системе.
    Одна беда - ПАРОЛЬ У LIVE ЮЗЕРА мы не знаем.
    Выход - passwd в консоли.
    Прчём, в live сессии оно даст поставить что угодно, даже пресловутые 123, но вот в уже поставленной среде такое не прокатит. Там надо из-под root/sudo это делать.

    Отдельный прикол с passwd в том, что долбанное "Пароли и Ключи" (на самом деле seahorse - вот где локализация мешает!) не знает ничего о том, что пароль сменился.
    И, если вы забыли старый пароль, то хз. Пересоздавайте себе брелок и/или ключницу.

    Почему это важно?
    Потому, что iBus не работает "из коробки" (см. выше). Либо в систему не войти, потому что раскладку с русского не переключить, либо потом вот такие приколы.

  • W: Загрузка выполняется от лица суперпользователя без ограничений песочницы, так как файл «/root/.synaptic/tmp//tmp_sh» недоступен для пользователя «_apt». - pkgAcquire::Run (13: Отказано в доступе)

    Тянется с 2018 года. Можно забить, тк. это warning, а не ошибка.
    Если больно - можно проверить, что пользователь _apt существует и каталог /root/.synaptic/ имеет владельца _apt и права 0700:

    sudo chown _apt /root/.synaptic/
    

    0700 - это drwx------, проверить можно через stat -c '%a %n' /root/.synaptic

  • MAXINE SDK

    Есть это, но оно платное и для энтерпрайза.
    Простым васянам нужно что-то из 2022, но не убунта и не центось, и чтобы там была 11ая CUDA.
    Собственно, пока 0.7.5.0_GA за бабки, в ОБС нихера не будет работать ни один фильтр от NVidia.
    А и правильно, а и пошли мы нахер :/

  • FFZ

    Расширения для огнелиса могут не работать точно так же, как и на винде. А тут ещё и CDN забанен. Пользуемся заменой

  • StreamFX ушёл в зад на патреон

    Сырцы забрал с собой. Есть форки и счастливчики, которые успели успели собрать v30 "до того как". Сборка Manjaro, которую я делал год назад не работает на современной бубунте.

  • OBS всё так же держит камеру...

    Ну что, пиздос, конечно.
    Берём исходники обс и собираем - примерно как написано в one.md

    Проблема в том, что на убунте нет aur'а и придётся ставить руками ебучую AJA, libdatachannel, и т.п. Проще гуглить, но вот что-то:

    • заголовки под ядро:
    sudo apt install -y linux-headers-$(uname -r) linux-tools-$(uname -r)
    
    • туева хуча зависимостей (удивительно, как это не сломало цитрамор и не привело к удалению нужных пакетов):
    sudo apt install cmake ninja-build pkg-config clang clang-format build-essential curl ccache git zsh libavcodec-dev libavdevice-dev libavfilter-dev libavformat-dev libavutil-dev libswresample-dev libswscale-dev libx264-dev libcurl4-openssl-dev libmbedtls-dev libgl1-mesa-dev libjansson-dev libluajit-5.1-dev python3-dev libx11-dev libxcb-randr0-dev libxcb-shm0-dev libxcb-xinerama0-dev libxcb-composite0-dev libxcomposite-dev libxinerama-dev libxcb1-dev libx11-xcb-dev libxcb-xfixes0-dev swig libcmocka-dev libxss-dev libglvnd-dev libgles2-mesa-dev libwayland-dev librist-dev libsrt-openssl-dev libpci-dev libpipewire-0.3-dev libqrcodegencpp-dev uthash-dev qt6-base-dev qt6-base-private-dev qt6-svg-dev qt6-wayland qt6-image-formats-plugins libasound2-dev libfdk-aac-dev libfontconfig-dev libfreetype6-dev libjack-jackd2-dev libpulse-dev libsndio-dev libspeexdsp-dev libudev-dev libv4l-dev libva-dev libvlc-dev libvpl-dev libdrm-dev nlohmann-json3-dev libwebsocketpp-dev libasio-dev libxcb-xinput-dev libffmpeg-nvenc-dev libsndfile1-dev libsoxr-dev libsox-dev
    

    Если тут не всё или что-то отсутствует - идите в жопу 😉

    Ещё понадобится хромиум без башки отсюда https://cdn-fastly.obsproject.com/downloads/cef_binary_6533_linux_x86_64.tar.xz. Распаковать через tar -xvf не получится, но у вас есть энгрампа, файл-роллер или фар2л. Если нет - печаль.

    Аджа сама не ставится, надо собирать.

    cd ~
    git clone https://github.com/aja-video/libajantv2
    cd libajantv2
    cmake -S . -B build
    cmake --build build
    cd driver/linux
    make clean && make -j12
    sudo make install  
    

    Чтобы не перезагружать, сразу херачим модуль в ядро

    sudo insmod ajantv2.ko
    

    Но всё-таки через DKMS ставим в систему

    make dkms-install
    

    DataChannel тже не ставится из пакетов

    cd ~
    git clone https://github.com/paullouisageneau/libdatachannel.git
    git submodule update --init --recursive --depth 1
    cmake -B build -DUSE_GNUTLS=0 -DUSE_NICE=0 -DCMAKE_BUILD_TYPE=Release
    cd build
    make -j12
    sudo make install
    

    RNNoise

    cd ~
    git clone https://github.com/sysprog21/rnnoise
    cd rnnoise
    make -j12
    sudo make install
    

    Вроде всё! Должно собраться.

    Для сборки нам будет нужен сам OBS, поэтому клонируем его в ~/portable_obs_build_dir/obs-studio/.
    Официальная репа тут https://github.com/obsproject/obs-studio
    Если в падлу потом маяться ещё и с патчем, то можно склонировать это: 4aiman/obs-studio@89fd4cb461 (diff-bf68fe13e5)

    Если хромиум распакован в ~/cef_binary_6533_linux_x86_64, то что-то такое должно сработать, если ничего не поломали в апстриме (а они мастера):

    cd ~/portable_obs_build_dir/obs-studio/ && rm -rf build && rm -rf "$HOME/portable_obs_build_dir/release" && mkdir build && cd build && cmake -DLINUX_PORTABLE=ON -DENABLE_PORTABLE_CONFIG=ON -DCMAKE_INSTALL_PREFIX="$HOME/portable_obs_build_dir/release/" -DENABLE_BROWSER=ON -DCEF_ROOT_DIR="../../../cef_binary_6533_linux_x86_64" -DTWITCH_HASH=0 -DTWITCH_CLIENTID=selj7uigdty0j5ijt41glcce29ehb4 -DOAUTH_BASE_URL=https://auth.obsproject.com/ -DENABLE_BROWSER_PANELS=ON -DENABLE_DECKLINK=ON -DENABLE_FREETYPE=ON -DENABLE_HEVC=ON -DENABLE_JACK=ON -DENABLE_LIBFDK=ON -DENABLE_NEW_MPEGTS_OUTPUT=ON -DENABLE_PLUGINS=ON -DENABLE_PULSEAUDIO=ON -DENABLE_RNNOISE=ON -DENABLE_SCRIPTING=ON -DENABLE_SCRIPTING_LUA=ON -DENABLE_SCRIPTING_PYTHON=ON -DENABLE_SERVICE_UPDATES=ON -DENABLE_SNDIO=ON -DENABLE_SPEEXDSP=ON -DENABLE_UI=ON -DENABLE_V4L2=ON -DENABLE_VLC=ON -DENABLE_VST=ON -DENABLE_WAYLAND=ON -DENABLE_VST_BUNDLED_HEADERS=ON -DENABLE_WEBRTC=ON -DENABLE_WEBSOCKET=ON -DBUILD_TESTS:BOOL="1" -DENABLE_JACK:BOOL="1" -DENABLE_SNDIO:BOOL="1" -DENABLE_RTMPS:STRING="ON" -DCMAKE_BUILD_TYPE:STRING="RelWithDebugInfo" -DCALM_DEPRECATION:BOOL="1" -DENABLE_LIBFDK:BOOL="1" -DENABLE_UDEV=ON .. && make -j12 && make install && mkdir -p ~/portable_obs_build_dir/release/lib/x86_64-linux-gnu  && cp ~/portable_obs_build_dir/release/lib/obs-scripting ~/portable_obs_build_dir/release/lib/x86_64-linux-gnu/ -r && cd "$HOME/portable_obs_build_dir/release/bin/" && ./obs
    

    Не ссыте, систему не запорет (если все те пакеты и драйверы выще не запороли) - сборка портабельная.

    От сборки на арче/манжаро отличается тем, что бинарник один (а может это 31ая версия ОБс подосрала), так что нет больше в папке bin папки 64bit.

    Если собралось и запустилось - значит работает. Значит, можно, наконец-то, патчить камеру.

    Не забываем удалить обс, поставленный из пакета "до того как"!
    (Нет, можно, конечно, и оставить, но потом не спрашивайте, почему патч не работает.)

    Патч из one всё ещё может быть применён вручную, но не работает из коробки. Вот вам для версии 31 от 28.12.2024 (ветка мастер) webcam.patch

    А вообще, текущая версия не находит то луа, то либу фронта. Даже есть делать непортабельную сборку.
    Раньше работало сразу, даже либы локальные переопределяли те, что были поставлены из пакета.

    Короче, запускать так:

    cd ~/portable_obs_build_dir/release/bin && export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/portable_obs_build_dir/release/lib && ./obs
    

    Ну и... раз уж мы тут столько всего вытерпели, то вот вам нутро для desktop файла

    [Desktop Entry]
    Version=1.0
    Name=OBS Studio Portable
    GenericName=Streaming/Recording Software
    Comment=Free and Open Source Streaming/Recording Software
    Exec=bash -c "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/portable_obs_build_dir/release/lib && cd ~/portable_obs_build_dir/release/bin && ./obs --remote-debugging-port=9222 --remote-allow-origins=http://localhost:9222"
    Icon=com.obsproject.Studio
    Terminal=false
    Type=Application
    Categories=AudioVideo;Recorder;
    StartupNotify=true
    StartupWMClass=obs
    GenericName[ru_RU]=Приложение для потокового вещания и видеозаписи
    Comment[ru_RU]=Свободное и открытое ПО для потокового вещания и видеозаписи
    
  • А можно OBS уже с патчем?

    Репозиторий Сборка

  • Нерабочий Electron

    Даже если чистить пакеты nodejs, электрон не стартует, выдавая

    The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now.
    

    А проблема в AppArmor. В каноникле решили поиздеваться и порезать права CEF на уровне ядра.
    Чинится снятием тех ограничений, которые ввела убунта для AppImage'ей:

    sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0
    

    На всякий случай, можно вернуть всё "взад", поставив единицу:

     sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=1
    
  • Не монтируютя NTFS (выборочно)

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

    sudo bash -c 'echo "blacklist ntfs3" > /etc/modprobe.d/disable-ntfs3.conf'  
    
  • Наставил говна и всё поломал?

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

    grep " install " /var/log/dpkg.log
    
  • Системный трей без иконок под цитрамоном?

    Хз как так (вот теперь наверняка из-за кучи DE), но вот это реально помогло:

    sudo apt remove indicator-application
    

    Походу, два приложения для показа индикаторов просто "дрались" кто первый и побеждало не то.
    Учитывая, что перезапуск цитрамона помогал, можно сделать вывод, что в нём используется далеко не самый шустрый и легковесный апплет (У меня цитрамон жрёт 800+ метров из 32Гб).

  • Stable-Diffusion от Automatic не ставится

    Если не нужны дополнения типа reactor, deepboru и инструменты типа получения инфы по пнг - можно поставить EasyDiffusion.

  • Pipewire переодически отваливается

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

    В сети есть рекомендации поправить 50-alsa-config.lua в папке с wireplumber или что-то шаманить в /usr/share/pipewire/client.conf (походу, устаревшая инфа), поставить там false в отключение node'ов.
    Но так всё ещё быстрее засирается.

    В итоге я просто удалил pipewire и поставил pulse.

    Это поломало сеть.

  • Поломанная сеть после установки pulse

    Задал IP вручную и перезагрузился.
    При этом следтели настройки AppArmor (см. выше)

    Уж не знаю почему dhcp не работает, но /usr/lib/systemd/system/NetworkManager-wait-online.service ждёт, что nm-online -s выдаст нужный статус, и тогда запускается.
    А nm-online ничего не выдаёт, т.к. не может подключиться.

    При этом ip link говорит, что всё UP, а демон dhcp установлен и запущен. Поди пойми.

  • OBS, Discord, и некоторые AppImage постоянно просят разблокировать keyring

    Я не знаю, как это исправить нормально, но проще всего убрать автологин в lightDM.
    И, конечно же, интерфейс цитрамона не работает на удаление, т.к. кнопку созранить выпилили за ненадобностью.
    Давайте руками, чо:

    sudo nano /etc/lightdm/lightdm.conf
    

    В конфиге буквально 4 строчки, найдите что нужно и удалите.

  • В Firefox пропали диалоги для открытия и сохранения файлов.

    Удаляем назхрен snap и ставим нормальный deb пакет из репы с оф. сайта мозиллы