LINUX.ORG.RU

Сообщения Sunderland93

 

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

Приветствую. Попробую объяснить задачу: есть окно, где пользователю предлагается выбрать из 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?

Приветствую. Пишу небольшое приложение, и уже на этапе создания интерфейса дико затупил. В общем, в окне нужно разместить 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

Приветствую. Может быть сталкивался кто с такой проблемой. 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

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

 , , , ,

Sunderland93
()

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

Приветствую. Ещё одна проблема, с которой столкнулся в 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: графический мусор при открытии крышки ноутбука

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

 , ,

Sunderland93
()

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

Приветствую. Делаю кастомный 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

Приветствую. Осваиваю сборку пакетов с ПО на 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...

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

 , ,

Sunderland93
()

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

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

 , , ,

Sunderland93
()

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

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

 

Sunderland93
()

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

Доброго времени суток! Совершенно случайно узнал, что пробросить в 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: насколько велика разница в работе?

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

 , ,

Sunderland93
()

Низкий FPS рабочего стола при записи с экрана в GNOME Wayland

Приветствую. Ubuntu 21.10, GNOME 40 на Wayland. Пишу экран с помощью OBS Studio 27.1, установленного из FLatpak. В самом OBS для записанного видео выставлено 60 кадров в секунду, однако уже сразу после запуска OBS общий FPS рабочего стола падает до 30 кадров в секунду. Это очень заметно даже по движению курсора, да и vkcube показывает 30FPS. Стоит закрыть OBS - FPS снова поднимается до 60. Кто знает в чём проблема - в GNOME или OBS? Запуск в Xorg не предлагать, мне нужно записать именно Wayland сессию.

 , ,

Sunderland93
()

Nvidia прогнулась

Для включения в состав Mesa предложены патчи для реализации загрузки альтернативных GBM бэкендов, что означает потенциальную работу драйвера Nvidia в любом Wayland-композиторе без внесения изменений в их кодовую базу! https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9902

 , ,

Sunderland93
()

Запись видео с экрана в более высоком разрешении

Приветствую. Скажите, существует ли возможность записи видео с экрана в разрешении большем, чем разрешение самого экрана? Например у меня ноутбук с разрешением экрана 1360x768, возможно ли производить запись в разрешении 1920x1080? и если да то как?

 ,

Sunderland93
()

Проблемы со сборкой 32-х битного LLVM

Приветствую. Для локальной сборки LLVM в Debian использую pbuilder. Вариант для amd64 собирается без проблем, но во время сборки clang-tools на i386, он в упор не видит заголовочные файлы libffi, хотя они устанавливаются. Пробовал принудильно их установить в базовый образ pbuilder'а, но бестолку. Может кто сталкивался с подобным?

CMake Error at cmake/config-ix.cmake:309 (message):
  libffi includes are not found.
Call Stack (most recent call first):
  CMakeLists.txt:590 (include)


-- Configuring incomplete, errors occurred!
See also "/build/llvm-toolchain-8-8.0.1/build-llvm/tools/clang/stage2-bins/CMakeFiles/CMakeOutput.log".
See also "/build/llvm-toolchain-8-8.0.1/build-llvm/tools/clang/stage2-bins/CMakeFiles/CMakeError.log".
make[5]: *** [tools/clang/CMakeFiles/stage2.dir/build.make:109: tools/clang/stage2-stamps/stage2-configure] Error 1
make[5]: Leaving directory '/build/llvm-toolchain-8-8.0.1/build-llvm'
make[4]: *** [CMakeFiles/Makefile2:42872: tools/clang/CMakeFiles/stage2.dir/all] Error 2
make[4]: Leaving directory '/build/llvm-toolchain-8-8.0.1/build-llvm'
make[3]: *** [CMakeFiles/Makefile2:42879: tools/clang/CMakeFiles/stage2.dir/rule] Error 2
make[3]: Leaving directory '/build/llvm-toolchain-8-8.0.1/build-llvm'
make[2]: *** [Makefile:13059: stage2] Error 2
make[2]: Leaving directory '/build/llvm-toolchain-8-8.0.1/build-llvm'
make[1]: *** [debian/rules:417: debian-full-build] Error 2
make[1]: Leaving directory '/build/llvm-toolchain-8-8.0.1'
make: *** [debian/rules:266: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
I: copying local configuration
E: Failed autobuilding of package
Debian 10, LLVM 8, хотя с 10 та же самая фигня.

 , , ,

Sunderland93
()

Объясните разницу между performance и schedutil

Приветствую. В сети нашёл только описание в документации, ну и пару весьма протухших тестов. Хотелось бы услышать реальное мнение от реальных пользователей - какой из этих governor'ов предпочтительнее? У меня процессор Intel Xeon X3470, в Debian для него доступны ondemand (включён по дефолту), performance и schedutil.

 , ,

Sunderland93
()

Проблема с установкой самосборных deb-пакетов

Приветствую. Имеется локальный сервер, на котором поднят репозиторий для Debian Buster. Репозиторий создан с помощью reprepro, используя стандартное руководство. Программы собираются на локальной машине через pbuilder и затем по ftp загружаются на сервер. Проблема заключается в следующем: я собрал более новую чем в Debian версию Mesa, загрузил её в репозиторий, обновил список пакетов на клиенте, но обновлённые версии не желают устанавливаться, как будто на них стоит какой-то запрет:

sudo apt install libegl-mesa0
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
Некоторые пакеты не могут быть установлены. Возможно, то, что вы просите,
неосуществимо, или же вы используете нестабильную версию дистрибутива, где
запрошенные вами пакеты ещё не созданы или были удалены из Incoming.
Следующая информация, возможно, вам поможет:

Следующие пакеты имеют неудовлетворённые зависимости:
 libegl-mesa0 : Зависит: libgbm1 (= 19.0.6-1) но 18.3.6-2+deb10u1 должен быть установлен
E: Невозможно исправить ошибки: у вас зафиксированы сломанные пакеты.
Единственный момент: так как для сборки данной версии Mesa требуется LLVM 8, а он есть в Debian Backports, то во время сборки он был установлен из бэкпортов автоматически. На клиенте бэкпорты подключены, и по идее всё должно просто работать. Но не работает(. В чём может быть дело? Может стоит поднять локальному репозиторию приоритет в настройках APT?

 , ,

Sunderland93
()

Steam не понимает кириллицу

Приветствую. Столкнулся с такой проблемой: в чате, в поиске, в любых полях ввода текста в Стим-клиенте, не работает ввод кириллицы. Абсолютно. Пробовал удалять клиент и все его куски, ставить заново. Бесполезно. Кто нибудь ещё сталкивался с подобным? Система: Debian 10.4 KDE, всё дефолтное. Steam не бета, Steam Api v020, версия пакета 1589513816.

 , ,

Sunderland93
()

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