LINUX.ORG.RU

Сообщения Sunderland93

 

Чтение и замена определенной строки в Python

Форум — Development

Приветствую. Требуется найти определенную строку, изменить её и записать на место старой в файле. В принципе эта задача решена, однако при записи в файл, вместо записи только новой строки, записывается полное содержимое этого файла с измененной строкой (дописывается в конец). Перерыл документацию, кучу примеров, но так и не понял как действовать в данном случае:

    def applyScheme(self):
        scheme_path = self.schemePath.text()

        with open("/home/sunderland93/config", "r") as f:
            lines = f.readlines()
            for i in range(len(lines)):
                if "set $theme" in lines[i]:
                    line = lines[i].strip()

        new_scheme = line.replace(str(line), 'set $theme ' + str(scheme_path))
        
        with open("/home/sunderland93/config", "r+") as w:
            lines2 = w.read()
            scheme = lines2.replace(str(line), str(new_scheme))
            w.write(scheme)
Как правильно это реализовать?

 ,

Sunderland93
()

Получить список языков для раскладки из Xkbcommon в Python

Форум — Development

Приветствую. Пишу небольшую утилиту для легкой настройки раскладки клавиатуры в Sway. На Pyside2. Задумка такова: имеется два QComboBox, в одном должен быть список доступных вариантов языка для раскладки, в другом - комбинации клавиш для переключения языка. После применения настроек они будут записываться в конфиг Sway. Нашел модуль python-xkbcommon, но не понимаю как из него получить список языков для раскладки, чтобы поместить в соответствующий QComboBox. Можете подсказать?

 , , ,

Sunderland93
()

Вопрос по торговым маркам Ubuntu

Форум — General

Приветствую. Как наверно многие знают или слышали, я пилю свой ремикс Убунты, под названием Ubuntu Sway Remix. Однако до меня слишком поздно дошло, что на слово «ubuntu» нужно получать разрешение. Отправив запрос непосредственно в Canonical, ничего внятного не получил. Сказали посмотрят, потом придут ответят. И все же меня интересует: согласно 7 пункту из их условий использования торговой марки, пока дистрибутив разрабатывается на некоммерческой основе, можно использовать любую интеллектуальную собственность Canonical, главное не нарушать их копирайты и явно указать, что торговая марка принадлежит им. Так ли это? Если здесь есть люди, разбирающиеся в вопросах копирайтов, разъясните мне пожалуйста.

 , ,

Sunderland93
()

Прошу помощи в настройке Nginx для Gitea на локальном сервере

Форум — Admin

Приветствую. В домашней локальной сети есть небольшой сервер, куда я по инструкции с официального сайта установил Gitea. Все работает, все супер. Проблема в следующем. Мой сервер имеет доменное имя debserver.local, но мне требуется чтобы веб-интерфейс Gitea работал на git.debserver.local. Создал по инструкции прокси-конфиг для Nginx со следующим содержимым:

server {
    listen 80;
    server_name git.debserver.local;

    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

В конфиге Gitea параметры сервера такие:

SSH_DOMAIN       = localhost
DOMAIN           = localhost
HTTP_PORT        = 3000
ROOT_URL         = http://git.debserver.local/

В /etc/hosts добавил запись:

127.0.0.1       localhost
127.0.1.1       debserver.local debserver
127.0.1.1       git.debserver.local

Но по адресу git.debserver.local ничего не работает, страница не загружается. При этом если зайти через просто debserver.local, то интерфейс Gitea открывается, но сверху выходит ошибка

Your ROOT_URL in app.ini is http://git.debserver.local/ but you are visiting http://debserver.local/
You should set ROOT_URL correctly, otherwise the web may not work correctly.
Подскажите пожалуйста, в чем косяк?

 , ,

Sunderland93
()

Docker на домашнем сервере

Форум — Admin

Приветствую. С Docker имел совсем мало опыта, в основном при сборке пакетов. Имеется небольшой домашний сервер, в данный момент работающий под OpenMediaVault 6. Многие сервисы в нем, например торрентокачалку, или принт-сервер, предлагается устанавливать в виде контейнеров Docker. Хотя все это можно сделать и нативно, штатными средствами Debian. Поэтому вопрос - насколько оправдано использование Docker для подобных целей, какие я получу преимущества, если тот же Qbittorrent будет работать не из нативной deb-версии, а в контейнере? При каких ситуациях раскрываются преимущества Docker?

 , , ,

Sunderland93
()

sed: удаление абзаца со спецсимволами

Форум — Development

Приветствую. Имеется текст примерного содержания:

[1][feorgerge,moperbmpotkpoekweifjoweowejf
weofkweopkgfoprkopffwfrgrr_grgkrok_feoko-lpl
fefefkorkogkropekgekropkopm_keof.glg]
[2]fegddgrg
[3]rerg
Как с помощью sed удалить все, что начинается с [1] и заканчивается на ] в первом абзаце, чтобы осталось только [2] и все что далее?

 ,

Sunderland93
()

Видеоплеер с аппаратным ускорением для Raspberry Pi3/4

Форум — Desktop

Приветствую. В каком из существующих видеоплееров есть поддержка аппаратного декодирования видео для Raspberry Pi 3 и 4 (при использовании драйвера KMS)? Интересует именно поддержка в апстриме, без сторонних патчей.

 ,

Sunderland93
()

Python, Qt: передача значения QRadioButton и использование его в QPushButton

Форум — Development

Приветствую. Попробую объяснить задачу: есть окно, где пользователю предлагается выбрать из 3 доступных опций, в моем случае - шеллов, и применить их кнопкой Apply. Нужно каким-то образом записать значение в выбранный QRadioButton, чтобы потом применить его при нажатии на кнопку Apply (так как это будет команда для изменения шелла, то буду использовать subrocess.run и команду pkexec chsh -s «значение с QRadioButton „имя юзера“). Подскажите пожалуйста, как это правильно реализовать?

class ShellSelectWindow(QWidget):
    def __init__(self):
        super().__init__()
        self.setFixedSize(400, 150)
        self.setWindowTitle("Change shell")
        self.setupUi()
        vbox3 = QVBoxLayout()
        vbox3.addWidget(self.groupBox3)
        self.setLayout(vbox3)
        self.show()

    def setupUi(self):
        Hlayout = QHBoxLayout()
        Vlayout = QVBoxLayout()

        self.groupBox3 = QGroupBox("Select shell:")

        self.btnBash = QRadioButton("Bash (Default)")
        self.btnBash.setChecked(True)
        self.btnBash.toggled.connect(self.setBash)
        self.btnZSH = QRadioButton("ZSH")
        self.btnZSH.toggled.connect(self.setZSH)
        self.btnFish = QRadioButton("Fish")
        self.btnFish.toggled.connect(self.setFish)
        
        self.buttonBox = QDialogButtonBox()
        self.buttonBox.addButton("Apply", QDialogButtonBox.AcceptRole)
        self.buttonBox.addButton("Cancel", QDialogButtonBox.RejectRole)
        self.buttonBox.rejected.connect(self.cancel)

        Hlayout.addWidget(self.btnBash)
        Hlayout.addWidget(self.btnZSH)
        Hlayout.addWidget(self.btnFish)
        Vlayout.addLayout(Hlayout)
        Vlayout.addWidget(self.buttonBox)
        self.groupBox3.setLayout(Vlayout)

    def setBash(self):
        rbtn = self.sender()
        if rbtn.isChecked() == True:
            print("Toggled")

    def setZSH(self):
        rbtn = self.sender()
        if rbtn.isChecked() == True:
            print("Toggled")

    def setFish(self):
        rbtn = self.sender()
        if rbtn.isChecked() == True:
            print("Toggled")

    def cancel(self):
        self.close()

 , , ,

Sunderland93
()

Как правильно разместить кнопки в QGridLayout?

Форум — Development

Приветствую. Пишу небольшое приложение, и уже на этапе создания интерфейса дико затупил. В общем, в окне нужно разместить 7 кнопок, один чекбокс и логотип. Для кнопок использую QGridLayout. Все вроде бы работает, но кнопки размещаются по всей площади окна, а мне нужно сдвинуть их вниз, чтобы занимали только нижнюю половину окна. А в верхней будет логотип. Объясните, пожалуйста, как это сделать? Вот код:

import sys

from PySide2.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayout, QGroupBox, QGridLayout, QLabel
from PySide2.QtGui import QPixmap
from PySide2.QtCore import QRect, Qt

class Window1(QWidget):
    def __init__(self):
        super().__init__()
        self.setFixedSize(640, 400)
        self.createGridLayout()
        vbox = QVBoxLayout()
        vbox.addWidget(self.groupBox)
        self.setLayout(vbox)

        self.show()

    def createGridLayout(self):
        self.groupBox = QGroupBox("Welcome to Ubuntu Sway Remix!")
        gridLayout = QGridLayout()


        button1 = QPushButton("Website", self)
        button2 = QPushButton("Wiki", self)
        button3 = QPushButton("Issue Tracker", self)
        button4 = QPushButton("Contribute", self)
        button5 = QPushButton("Matrix Chat", self)
        button6 = QPushButton("Next >>", self)
        button7 = QPushButton("Exit", self)

        gridLayout.addWidget(button1, 0, 0, 1, 1)
        gridLayout.addWidget(button2, 0, 1, 1, 1)
        gridLayout.addWidget(button3, 0, 2, 1, 1)
        gridLayout.addWidget(button4, 1, 0, 1, 1)
        gridLayout.addWidget(button5, 1, 1, 1, 1)
        gridLayout.addWidget(button6, 1, 2, 1, 1)
        gridLayout.addWidget(button7, 2, 1, 1, 1)

        self.groupBox.setLayout(gridLayout)

if __name__ == "__main__":
    app = QApplication([])
    widget = Window1()
    widget.show()
    sys.exit(app.exec_())

 , , ,

Sunderland93
()

ttf-mscorefonts-installer ломает Fonts Awesome

Форум — Desktop

Приветствую. Может быть сталкивался кто с такой проблемой. Sway, панель Waybar, для значков модулей используется набор шрифтов Fonts Awesome. Дистрибутив - Ubuntu 22.04, и хотя Fonts Awesome здесь крайне протухшей версии - все работает. До тех пор, пока не установишь пакет ttf-mscorefonts-installer, который выкачивает и устанавливает Майкрософтовские шрифты Arial, Verdun и так далее. После этого некоторые глифы Fonts Awesome напрочь ломаются, и вместо них либо пустота, либо точки. Вот как выглядит панель ДО установки mscorefonts https://imgur.com/Y1LRWUp а вот так после https://imgur.com/9KlVflK значки громкости и выключения сломаны. Есть ли решение данной проблемы (разумеется кроме удаления mscorefonts, они нужны для работы)?

 , , ,

Sunderland93
()

Серьезный косяк в работе Thunar

Форум — Desktop

Приветствую. Может быть кто нибудь сталкивался с подобной проблемой: при открытии в Thunar каталога, к которому нет доступа для текущего пользователя (например чужой home), появляется сообщение, что мол у вас нет прав для просмотра содержимого. И это сообщение начинает многократно дублироваться, все тормозит, и остановить безконтрольное появление этих сообщений можно лишь переключившись на другой tty и прибить Thunar. Дистрибутив Ubuntu 22.04, Sway. Ставил ради проверки Nemo - там подобного нет, просто появляется окно с запросом пароля суперпользователя, но после ввода ничего не происходит, а после отмены - также появляется сообщение что нет доступа к каталогу, и все. Никаких проблем.

 , , , ,

Sunderland93
()

Вылетает PolicyKit Gnome при использовании pkexec

Форум — Desktop

Приветствую. Ещё одна проблема, с которой столкнулся в Sway на Ubuntu. В автозагрузке запущен polkit-gnome-authentification-agent-1. При попытке запустить что-нибудь через pkexec, например Gparted, агент падает и отказывается принимать пароль:

(polkit-gnome-authentication-agent-1:4994): GLib-CRITICAL **: 10:21:30.375: g_variant_new_string: assertion 'string != NULL' failed

(polkit-gnome-authentication-agent-1:4994): polkit-gnome-1-WARNING **: 10:21:30.376: Failed to register client: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files
polkit-agent-helper-1: pam_authenticate failed: Authentication failure
Ошибка сегментирования (стек памяти сброшен на диск)
Пробовал использовать агент от MATE - та же фигня. Подскажите, куда копать и где посмотреть лог?

 , ,

Sunderland93
()

Sway: графический мусор при открытии крышки ноутбука

Форум — Desktop

Приветствую. Ubuntu 22.04, Sway 1.7. При закрытии крышки ноутбука система уходит в suspend, но при открытии на экране появляется цветной мусор. Перезапуск Sway не помогает, но если несколько раз закрыть-открыть крышку - проблема исчезает. В чем может быть причина?

 , ,

Sunderland93
()

SDDM автологин в Plasma, даже если та не установлена

Форум — Desktop

Приветствую. Делаю кастомный LiveCD на базе Ubuntu. Устанавливаю Sway и SDDM в качестве менеджера входа. Однако конфиг /etc/sddm.conf содержит запись

[Users]
MinimumUid=999

[Autologin]
User=ubuntu
Session=plasma.desktop
Relogin=true
При том что Плазмы в системе, как и других DE, нет, все вычищено. В /usr/share/Xsessions пусто, в /usr/share/wayland-sessions только Sway. Куда копать? Что заставляет SDDM прописывать по умолчанию автологин в Plasma?

 , , , ,

Sunderland93
()

Проблема с зависимостями Cargo при сборке greetd

Форум — Development

Приветствую. Осваиваю сборку пакетов с ПО на Rust. В качестве подопытного выбран greetd. Все шло нормально, до момента пока Cargo не начал ругаться на неразрешимую зависимость:

error: failed to select a version for the requirement `nix = "^0.17"`
candidate versions found which didn't match: 0.19.0
. rust-nix установлен из deb-пакета, но в принципе остальные зависимости также установлены из deb, и отлично подходят. Если я правильно понимаю - версия nix в данном случае захардкожена на 0.17? Как решить эту проблему? Вот Cargo.toml от greetd
[package]
name = "greetd"
version = "0.6.0"
authors = ["Kenny Levinsen"]
edition = "2018"
license = "GPL-3.0"
homepage = "https://kl.wtf/projects/greetd"
repository = "https://git.sr.ht/~kennylevinsen/greetd/"

[features]
debug = []

[dependencies]
nix = "0.17"
pam-sys = "0.5.6"
users = "0.9.1"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
greetd_ipc = { path = "../greetd_ipc", features = ["tokio-codec"] }
inish = { path = "../inish" }
libc = "0.2"
tokio = { version = "0.2", features = ["net", "sync", "macros", "signal", "rt-util", "io-util", "time"] }
getopts = "0.2"
thiserror = "1.0"
async-trait = "0.1"
enquote = "1.0.3"[/quote]

 , ,

Sunderland93
()

Странный баг с PulseAudio и pactl...

Форум — Multimedia

...а возможно и фича. Это нормально, что pactl позволяет выставить громкость больше 150% (я смог выкрутить более 700)? Есть ли способ ограничить значение громкости для pactl?

 , ,

Sunderland93
()

Применение эффектов к записи микрофона на лету

Форум — Multimedia

Приветствую. Обычно пишу голос в Audacity, после чего чищу от шума, накладываю компрессор, нормировку сигнала и прочее. Не то что бы занятие геморное, но тем не менее. Интересует, возможно ли применение всех этих операций на лету, прямо во время записи? Как например в OBS Studio, где можно добавить список звуковых фильтров, настроить параметры и запись голоса будет сразу такой, какая тебя нужна. Из того что пока придумал - писать голос в чем-то типа Ardour, с применением необходимых плагинов. Насколько это выполнимо?

 , , ,

Sunderland93
()

Почему многие хейтят D-Bus?

Форум — Talks

Приветствую. Объясните пожалуйста бестолковому - почему так много людей ненавидят D-Bus, и люто плюются когда он является жёсткой зависимостью? Постоянно натыкаюсь на сообщения, что наличие D-Bus как зависимости это чуть ли не смертный грех. Чем он так плох?

 

Sunderland93
()

Проброс единственной видеокарты в QEMU

Форум — General

Доброго времени суток! Совершенно случайно узнал, что пробросить в QEMU-KVM можно и единственную видеокарту, которая будет просто отвязана от хоста на время работы виртуалки. Сделал всё по этому гайдувиртуалка успешно запустилась, установил драйвер и всё в общем-то нормально. Однако после закрытия виртуалки - тупо черный экран, и даже Reset не спасал, приходилось вырубать из розетки. Узнал что это известный косяк Radeon - проблема со сбросом GPU. Нагуглил этот модуль https://github.com/gnif/vendor-reset с горем пополам установил. Теперь виртуалка корректно сбрасывает GPU, но не стартует Plasma. Черный экран с курсором. Либо же запускается рабочий стол и через несколько секунд всё намертно виснет. Не работает даже переключение VT консолей по Ctrl+Alt+F и так далее. Баг известный, но работающего решения пока не нашёл. Есть ли у кого опыт проброса единственной видеокарты в QEMU на хосте с KDE Plasma? Конфигурация у меня следующая:

CPU: Ryzen 5 3600
GPU: Radeon RX570
Материнская плата: Asrock B450m Pro 4
Хост: Debian 11, ядро 5.10, Mesa 20.3.5, KDE Plasma 5.20

 , , , ,

Sunderland93
()

Steam Flatpak vs Steam Native: насколько велика разница в работе?

Форум — Games

Приветствую. Все время, что пользуюсь Линуксом, ставлю Steam из штатного репозитория, и в принципе всё всегда работало. Но в последнее время заметил что многие ставят его из Flatpak, да и сама Flatpak-версия очень активно развивается https://github.com/flathub/com.valvesoftware.Steam . Хочу поинтересоваться у присутствующих - есть ли реальные плюсы использования Steam из Flatpak? Слышал о проблемах с работой Proton, но вроде как в последних версиях Flatpak это исправили.

 , ,

Sunderland93
()

RSS подписка на новые темы