LINUX.ORG.RU

Сообщения Chord

 

Qt5 to Qt6 проблемы

Форум — Development

Есть такой простенький класс - обертка для QProcess:

namespace Ui {
    class Proc;
}

class Proc : public QObject {
    Q_OBJECT

public:
    explicit Proc( QObject *parent=0 );
    virtual ~Proc();

private:
    QProcess        *process;

public:
    void        startProcess (QString binaryPath);
    void        sendCommand (QString command);

private slots:
    void        readFromProcess();
    void        errorFound(QProcess::ProcessError err);

signals:
    void        messageRecieved(QString);
    void        processFault(QProcess::ProcessError);
    void        processStarted();
    void        processFinished(int exitCode, QProcess::ExitStatus exitStatus);
};


Proc::Proc(QObject* parent) : QObject (parent) {
    process = new QProcess(this);
    process->setReadChannel(QProcess::StandardOutput);
    connect (process, SIGNAL(readyRead()), SLOT(readFromProcess()));
    connect (process, SIGNAL(errorOccurred(QProcess::ProcessError)), this, SLOT(errorFound(QProcess::ProcessError)));
    connect (process, SIGNAL(started()), SLOT(processStarted()));
    connect (process, SIGNAL(finished(int, QProcess::ExitStatus)), SLOT(processFinished(int, QProcess::ExitStatus)));
}

void Proc::startProcess (QString binaryPath){
    process->start(binaryPath);
}

void Proc::sendCommand (QString command){
    process->write(command.toLatin1());

}

void Proc::readFromProcess(){
    while (process->canReadLine()){
        QString line = QString::fromLatin1(process->readLine());
        emit messageRecieved(line);
    }
}

void Proc::errorFound(QProcess::ProcessError err){
    emit processFault(err);
}

void Proc::processStarted(){
    qDebug()<<"started";
}
void Proc::processFinished(int exitCode, QProcess::ExitStatus status){
    qDebug()<<"finished";
}

Proc::~Proc(){

}

Запускаю процесс xinput и жду выхлопа:

xinput = new Proc();
connect(xinput, SIGNAL(messageRecieved(QString)), this, SLOT(xinputRecieved(QString)));
xinput->startProcess("xinput --test-xi2 --root");


xinputRecieved(QString msg){
    qDebug()<<msg;
}
До сих пор это работало (на qt5), выхлоп xinput приходил в слот xinputRecieved и там я его парсил как мне нужно.

Сегодня обновилась система и qt5 больше нету, только qt6. И с qt6 выхлоп xinput не приходит. Более того, xinput в списке процессов top вообще отсутствует. Хотя слот processStarted пишет, что процесс стартанул. Слот processFinished при этом молчит.

Что такого поменялось в qt6, что процесс xinput стал вести себя таким образом? Сам xinput будучи запущен вручную в консоли исправно работает.

 , ,

Chord
()

Коннект через прокси на смартфоне

Форум — General

На смартфоне установлен сервер Every Proxy. Хочу, чтобы траффик на комп шел через этот прокси. Запускаю этот Every Proxy, включаю http proxy. Получаю такую инфу:

Host: 0.0.0.0
Port: 8080
Auth: none
IPv4: 10.116.215.12, 12.35.197.154, 172.19.0.1, 192.168.1.102
Создаю файл /etc/env.d/99proxy и вписываю туда:
http_proxy="http://192.168.1.102:8080"
https_proxy="http://192.168.1.102:8080"
Делаю env-update.

Подключаю смарт по usb, интернет есть, но он явно идет не через Every Proxy (некоторые страницы не открываюся, при этом они открываются на смарте).

Пробовал поочередно все указанные IP адреса - безрезультатно. В чем может быть причина?

 ,

Chord
()

Версии ядра

Форум — Admin

Решил обновить ядро, сейчас стоит 6.6.67. emerge yна запрос обновления выводит такое:

[ebuild  NS    ] sys-kernel/gentoo-kernel-6.1.152:6.1.152::gentoo [6.6.67:6.6.67::gentoo] USE="initramfs strip -debug -experimental -hardened -modules-sign -savedconfig -secureboot -test -verify-sig% (-generic-uki%) (-modules-compress%)" 138164 KiB
[nomerge       ]  app-alternatives/bc-0::gentoo  USE="gnu -gh" 
[binary     U  ]   sys-devel/bc-1.08.2-1::gentoo [1.08.1::gentoo] USE="readline -libedit -static" 140 KiB
Это как, 6.1.152 новее чем 6.6.67? Насколько я понимаю, 6 > 1, и соответственно 6.6 новее, чем 6.1. Или тут альтернативная математика?

Перемещено hobbit из general

 , ,

Chord
()

GUI не перерисовывается в процессе выполнения цикла

Форум — Development

Есть список серверов. В таблице. Прохожу циклом по таблице и последовательно коннекчусь к каждому серверу. После коннекта проверяю, есть интернет или нет (curl). Если курл вернул ip адрес, то в соответствующую строку таблицы добавляю этот ip. Код работает, выхлоп qDebug в консольку идет, и в таблицу тоже добавляется, но таблица перерисовывается только когда цикл закончится. В списке порядка 100 локаций, и пройтись по всем занимает около 10 минут. Всё это время окно программы не реагирует ни на что. Как его разморозить, чтобы изменения в таблице отображались в процессе прохождения цикла, а не после его окончания?

Пробовал в отдельном QThread - не помогает,

QStringList vArguments;
    vArguments << "connect.sh";
    QStringList curlArguments;
    curlArguments << "--connect-timeout" << "5" << "ifconfig.me" ;

    QString stdout, ipAddr;
    QBrush brush;
    brush = QBrush(Qt::green, Qt::SolidPattern);
    QRegularExpression ipRegex(R"((\d{1,3}\.){3}\d{1,3})");
    QTableWidgetItem* item;

    bCancelSearch = false;

    for ( int i=0; i<table->rowCount()-1; i++ ){
        //поочередно коннект к серверам через скрипт connect.sh
        QTableWidgetItem *item = table->item(i,0);
        qDebug() << item->text();
        vArguments << item->text();
        vProcess = new QProcess();
        vProcess->setProcessChannelMode(QProcess::MergedChannels);
        vProcess->start( "sudo", vArguments );
        vProcess->waitForFinished();
        vArguments.removeLast();

        //после коннекта проверка наличия инета : curl ifconfig.me
        curlProcess = new QProcess();
        curlProcess->setProcessChannelMode(QProcess::MergedChannels);
        curlProcess->start( "curl", curlArguments );
        curlProcess->waitForFinished();

        stdout = curlProcess->readAllStandardOutput();

        //если curl вернул ip - добаляю его в таблицу
        item = table->item(i,2);
        if ( ipRegex.match(stdout).hasMatch() ){
            int lastPos = stdout.lastIndexOf(QChar('\n'));
            ipAddr = stdout.mid(lastPos+1);
            qDebug() << item->text() << "responded" << ipAddr;
            txtOutput->append(item->text() + " has responded from " + ipAddr);
            item = new QTableWidgetItem();
            item->setText(ipAddr);
            table->setItem(i,4,item);
            for (int j=0; j<5; j++){
                item = table->item(i,j);
                item->setBackground(brush);
            }
            }else{
                qDebug() << "no match" << item->text();
                txtOutput->append(item->text() + " no response");
            }
            if ( bCancelSearch )return;
    }

Как разморозить гуй?

 , ,

Chord
()

Посоветуйте таблицу (Qt6)

Форум — Development

Посоветуйте элемент для отображения таблицы.

Хотелки:

1. FullRowSelect

2. Чтобы можно было считать текст из ячейки при обращении по row/column.

3. Изменяемый BackgroundColor для произвольной строки.

4. Без абстрактных моделей

Есть что-нибудь? Пробовал QTableWidget - не читает текст из ячеек. Вернее читает, но все время одну и ту же ячейку.

    for ( int i=0; i<table->rowCount()-1; i++ ){
        QTableWidgetItem *item = table->itemAt(i,0);
        qDebug() << item->text();
    }
Этот код возвращает все время текст первой ячейки (0,0). Хотя в таблице 90 строк и в первой колонке в каждой строке уникальное значение. Что здесь неправильно?

 ,

Chord
()

ffmpeg - Unrecognized option

Форум — Multimedia

Баш скрипт:

date=$(date '+%Y-%m-%d_%H:%M:%S.mp4')

ffmpeg -video_size 1130x800 -framerate 25 -f x11grab -i :0.0+570,180 -f alsa -ac 2 -i hw:0 -g 100 /mnt/storage/$date
Работает замечательно.

Пытаюсь сделать то же самое из qt:

	QString strSize = lblWidth->text() + "x" + lblHeight->text();
    QString strPos = "-i :0.0+" + lblLeft->text() + "," + lblTop->text();

	QDateTime t = QDateTime::currentDateTime();
	QString s = t.toString("yyyy.MM.dd-HH.mm.ss")+".mp4";
	
	QStringList arguments;
	arguments << "-video_size" << strSize << "-framerate" << "25" << "-f" << "x11grab" ;
    arguments << strPos << "-f" << "alsa" << "-ac" << "2" << "-i" << "hw:0" << "-g" << "100" << "/mnt/storage/rec_" + s;


    recProcess = new QProcess(this);
    recProcess->setProcessChannelMode(QProcess::MergedChannels);
	connect(recProcess, SIGNAL(started()), this, SLOT(processStarted()));
	
    connect(recProcess, SIGNAL (readyReadStandardOutput()), this, SLOT(readProcessOutput()));
    recProcess->start( "ffmpeg", arguments );

При попытке начать запись в выхлопе ffmpeg получаю ошибку:

Unrecognized option 'i :0.0+225,145'.
Error splitting the argument list: Option not found

Почему из баша опция определяется нормально, из qt выдает ошибку?

 , ,

Chord
()

setlocale: unsupported locale setting

Форум — General

Что-то не так с локалями. Регулярно при запуске emerge получаю

setlocale: unsupported locale setting
Имеется следующее:
locale
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.utf8
LC_CTYPE="en_US.utf8"
LC_NUMERIC="en_US.utf8"
LC_TIME=en_150.UTF-8
LC_COLLATE="en_US.utf8"
LC_MONETARY="en_US.utf8"
LC_MESSAGES="en_US.utf8"
LC_PAPER="en_US.utf8"
LC_NAME="en_US.utf8"
LC_ADDRESS="en_US.utf8"
LC_TELEPHONE="en_US.utf8"
LC_MEASUREMENT="en_US.utf8"
LC_IDENTIFICATION="en_US.utf8"
LC_ALL=

eselect locale list
Available targets for the LANG variable:
  [1]   C
  [2]   C.utf8
  [3]   en_US
  [4]   en_US.iso88591
  [5]   en_US.utf8 *
  [6]   POSIX
  [ ]   (free form)
cat /etc/env.d/02locale
LANG="en_US.utf8"

Я бы забил на этот setlocale, но при обновлении alsa-utils вылазит ошибка, связанная с локалями и сборка alsa-utils прерывается. Поэтому полагаю, что всё-таки надо сперва починить локали.

С чего начать?

 ,

Chord
()

Не запоминаются ассоциации файлов

Форум — Desktop

Документы - текстовые, фото, видео, xml, pdf, аудио и т.д. - абсолютно все перестали открываться от рута по клику из dolphin'а. Выдает такую ошибку: https://imgur.com/cagd0Gv

Указываю (например, для текстовых файлов) открывать при помощи kate, ставлю птичку на Always open with the choosen app и открываю документ - все нормально. Но следующий документ снова пишет, что нечем открыть файл. Пробовал через свойства файла указать приложение которым открывать - как только нажимаю Apply после выбора приложения - приложение kate исчезает из списка ассоциированных с файлом приложений. Список пустой.

При этом если запустить пустой kate, то из меню File -> Open документы открываются.

От пользователя всё норм, ассоциации слетают только для рута.

Как починить?

P.S.

Не знаю, может быть это тоже как-то связано: если запускать konsole от пользователя, то стартовая директория почему-то вдруг стала /usr/bin вместо домашней директории.

 

Chord
()

Имя интерфейса usb модема

Форум — General

До сего дня коннектился к смарту (в режиме usb модема) таким образом

dhcpd usb0
А сегодня получил ошибку
# dhcpcd usb0
dhcpcd-10.1.0 starting
DUID 00:01:00:01:2e:6b:0a:c6:c2:dc:1e:51:fb:79
usb0: interface not found
dhcpcd exited
Проверил список интерфейсов:
# ifconfig -a
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.11  netmask 255.255.255.0  broadcast 192.168.1.255
        ether d8:50:e6:54:cc:cc  txqueuelen 1000  (Ethernet)
        RX packets 21362859  bytes 30441469509 (28.3 GiB)
        RX errors 0  dropped 17  overruns 0  frame 0
        TX packets 10242870  bytes 1718974734 (1.6 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth1: flags=4098<BROADCAST,MULTICAST>  mtu 1500
        ether de:a7:2c:42:e3:f4  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 152  bytes 14818 (14.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 152  bytes 14818 (14.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
Интерфейса usb0 действительно нет. И откуда-то появился некий eth1, которого никогда не было. Попробовал подключиться к нему как к usb модему - подключилось и работает (интернет есть).

Собственно почему вдруг интерфейс usb0 стал именоваться eth1?

 ,

Chord
()

Не выходит из suspend to ram с первой попытки

Форум — General

При выходе из сна (по нажатию клавиатуры) комп выходит на долю секунды из сна (иногда успевает засветиться экран, иногда не успевает) и сразу же снова самопроизвольно переходит в сон. Со второй побудки уже просыпается окончательно. Никаких ошибок в dmesg не вижу. Как победить?

[35622.738123] PM: suspend entry (deep)
[35622.741327] Filesystems sync: 0.003 seconds
[35622.741418] Loading firmware: rtl_nic/rtl8168f-1.fw
[35622.741437] Loading firmware: rtlwifi/rtl8188eufw.bin
[35622.741457] Loading firmware: regulatory.db
[35622.741547] Loading firmware: regulatory.db.p7s
[35622.758846] Freezing user space processes
[35622.760233] Freezing user space processes completed (elapsed 0.001 seconds)
[35622.760236] OOM killer disabled.
[35622.760237] Freezing remaining freezable tasks
[35622.761332] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
[35622.761354] printk: Suspending console(s) (use no_console_suspend to debug)
[35622.762535] serial 00:06: disabled
[35622.762658] r8169 0000:03:00.0 eth0: Link is Down
[35622.792043] sd 0:0:0:0: [sda] Synchronizing SCSI cache
[35622.792064] sd 3:0:0:0: [sdc] Synchronizing SCSI cache
[35622.792065] sd 2:0:0:0: [sdb] Synchronizing SCSI cache
[35622.792088] sd 4:0:0:0: [sdd] Synchronizing SCSI cache
[35622.792269] ata4.00: Entering standby power mode
[35622.792278] ata5.00: Entering standby power mode
[35622.792324] ata3.00: Entering standby power mode
[35622.792798] ata1.00: Entering standby power mode
[35623.351186] PM: suspend devices took 0.590 seconds
[35623.377191] ACPI: PM: Preparing to enter system sleep state S3
[35623.377621] ACPI: PM: Saving platform NVS memory
[35623.377649] Disabling non-boot CPUs ...
[35623.379389] smpboot: CPU 1 is now offline
[35623.381267] smpboot: CPU 2 is now offline
[35623.382981] smpboot: CPU 3 is now offline
[35623.384734] smpboot: CPU 4 is now offline
[35623.386532] smpboot: CPU 5 is now offline
[35623.388973] smpboot: CPU 6 is now offline
[35623.390676] smpboot: CPU 7 is now offline
[35623.391624] ACPI: PM: Low-level resume complete
[35623.391642] ACPI: PM: Restoring platform NVS memory
[35623.391971] Enabling non-boot CPUs ...
[35623.392004] smpboot: Booting Node 0 Processor 1 APIC 0x2
[35623.394794] CPU1 is up
[35623.394817] smpboot: Booting Node 0 Processor 2 APIC 0x4
[35623.397774] CPU2 is up
[35623.397801] smpboot: Booting Node 0 Processor 3 APIC 0x6
[35623.400567] CPU3 is up
[35623.400590] smpboot: Booting Node 0 Processor 4 APIC 0x1
[35623.403322] CPU4 is up
[35623.403347] smpboot: Booting Node 0 Processor 5 APIC 0x3
[35623.405983] CPU5 is up
[35623.406003] smpboot: Booting Node 0 Processor 6 APIC 0x5
[35623.408707] CPU6 is up
[35623.408735] smpboot: Booting Node 0 Processor 7 APIC 0x7
[35623.411405] CPU7 is up
[35623.414068] ACPI: PM: Waking up from system sleep state S3
[35623.415974] serial 00:06: activated
[35623.648939] r8169 0000:03:00.0 eth0: Link is Down
[35623.759208] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[35623.759216] ata1.00: Entering active power mode
[35623.760049] ata1.00: supports DRM functions and may not be fully accessible
[35623.761004] sd 0:0:0:0: [sda] Starting disk
[35623.761132] ata1.00: supports DRM functions and may not be fully accessible
[35623.762010] ata1.00: configured for UDMA/133
[35623.816313] PM: resume devices took 0.404 seconds
[35623.816570] OOM killer enabled.
[35623.816571] Restarting tasks ... 
[35623.816606] pci_bus 0000:05: Allocating resources
[35623.816612] pci 0000:04:00.0: PCI bridge to [bus 05]
[35623.816617] pci 0000:04:00.0:   bridge window [io  0x2000-0x2fff]
[35623.816626] pci 0000:04:00.0:   bridge window [mem 0xdf300000-0xdf4fffff]
[35623.816631] pci 0000:04:00.0:   bridge window [mem 0xdf500000-0xdf6fffff 64bit pref]
[35623.817464] done.
[35623.817471] random: crng reseeded on system resumption
[35623.817981] PM: suspend exit
[35623.825035] PM: suspend entry (deep)
[35625.225484] r8169 0000:03:00.0 eth0: Link is Up - 100Mbps/Full - flow control rx/tx
[35627.046122] ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[35627.046134] ata3.00: Entering active power mode
[35627.046147] ata5: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[35627.046157] ata5.00: Entering active power mode
[35627.133405] sd 4:0:0:0: [sdd] Starting disk
[35627.134218] ata5.00: configured for UDMA/133
[35627.209836] sd 2:0:0:0: [sdb] Starting disk
[35627.210764] ata3.00: configured for UDMA/133
[35627.210941] Filesystems sync: 3.385 seconds
[35627.211339] Freezing user space processes
[35627.212845] Freezing user space processes completed (elapsed 0.001 seconds)
[35627.212851] OOM killer disabled.
[35627.212852] Freezing remaining freezable tasks
[35627.213982] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
[35627.214014] printk: Suspending console(s) (use no_console_suspend to debug)
[35627.215378] serial 00:06: disabled
[35627.215444] r8169 0000:03:00.0 eth0: Link is Down
[35627.229494] sd 2:0:0:0: [sdb] Synchronizing SCSI cache
[35627.229529] sd 3:0:0:0: [sdc] Synchronizing SCSI cache
[35627.229551] sd 0:0:0:0: [sda] Synchronizing SCSI cache
[35627.229707] ata3.00: Entering standby power mode
[35627.230259] ata1.00: Entering standby power mode
[35627.242811] sd 4:0:0:0: [sdd] Synchronizing SCSI cache
[35627.457923] ata5.00: Entering standby power mode
[35627.609459] ata4: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[35627.609468] ata4.00: Entering active power mode
[35627.633140] ata4.00: configured for UDMA/133
[35627.633436] ata4.00: Entering standby power mode
[35628.200890] PM: suspend devices took 0.987 seconds
[35628.226703] ACPI: PM: Preparing to enter system sleep state S3
[35628.227240] ACPI: PM: Saving platform NVS memory
[35628.227283] Disabling non-boot CPUs ...
[35628.228875] smpboot: CPU 1 is now offline
[35628.231256] smpboot: CPU 2 is now offline
[35628.233299] smpboot: CPU 3 is now offline
[35628.235606] smpboot: CPU 4 is now offline
[35628.237631] smpboot: CPU 5 is now offline
[35628.239590] smpboot: CPU 6 is now offline
[35628.241110] smpboot: CPU 7 is now offline
[35628.241815] ACPI: PM: Low-level resume complete
[35628.241833] ACPI: PM: Restoring platform NVS memory
[35628.242163] Enabling non-boot CPUs ...
[35628.242194] smpboot: Booting Node 0 Processor 1 APIC 0x2
[35628.244991] CPU1 is up
[35628.245014] smpboot: Booting Node 0 Processor 2 APIC 0x4
[35628.247912] CPU2 is up
[35628.247933] smpboot: Booting Node 0 Processor 3 APIC 0x6
[35628.250712] CPU3 is up
[35628.250733] smpboot: Booting Node 0 Processor 4 APIC 0x1
[35628.253492] CPU4 is up
[35628.253510] smpboot: Booting Node 0 Processor 5 APIC 0x3
[35628.256168] CPU5 is up
[35628.256186] smpboot: Booting Node 0 Processor 6 APIC 0x5
[35628.258894] CPU6 is up
[35628.258914] smpboot: Booting Node 0 Processor 7 APIC 0x7
[35628.261569] CPU7 is up
[35628.264272] ACPI: PM: Waking up from system sleep state S3
[35628.266143] serial 00:06: activated
[35628.486403] r8169 0000:03:00.0 eth0: Link is Down
[35628.606790] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[35628.606809] ata1.00: Entering active power mode
[35628.607671] ata1.00: supports DRM functions and may not be fully accessible
[35628.608805] sd 0:0:0:0: [sda] Starting disk
[35628.608926] ata1.00: supports DRM functions and may not be fully accessible
[35628.609686] ata1.00: configured for UDMA/133
[35628.653793] PM: resume devices took 0.390 seconds
[35628.653962] OOM killer enabled.
[35628.653963] Restarting tasks ... 
[35628.653966] pci_bus 0000:05: Allocating resources
[35628.653971] pci 0000:04:00.0: PCI bridge to [bus 05]
[35628.653975] pci 0000:04:00.0:   bridge window [io  0x2000-0x2fff]
[35628.653982] pci 0000:04:00.0:   bridge window [mem 0xdf300000-0xdf4fffff]
[35628.653989] pci 0000:04:00.0:   bridge window [mem 0xdf500000-0xdf6fffff 64bit pref]
[35628.655617] done.
[35628.655628] random: crng reseeded on system resumption
[35628.655758] PM: suspend exit
[35630.062859] r8169 0000:03:00.0 eth0: Link is Up - 100Mbps/Full - flow control rx/tx
[35631.836937] ata5: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[35631.836946] ata5.00: Entering active power mode
[35631.893588] ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[35631.893594] ata3.00: Entering active power mode
[35631.911129] sd 4:0:0:0: [sdd] Starting disk
[35631.911942] ata5.00: configured for UDMA/133
[35632.053635] sd 2:0:0:0: [sdb] Starting disk
[35632.054700] ata3.00: configured for UDMA/133
[35632.120241] ata4: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[35632.120251] ata4.00: Entering active power mode
[35632.149313] sd 3:0:0:0: [sdc] Starting disk
[35632.150170] ata4.00: configured for UDMA/133

Первая строкк в листинге соответствует, как ни странно, моменту первого пробуждения.

Как заставить его просыпаться с первого раза? Засыпание осуществляется через sudo s2ram, если это важно. Ядро 6.6.62, та же самая беда на других ядрах, как самосборных так и коммьюнити-ядрах.

 

Chord
()

JS скриншот

Форум — Web-development

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

 ,

Chord
()

Аналог xinput для винды?

Форум — General

Есть ли тулза, реализующая функционал xinput под виндой? Гуглится только какая-то левая dll для XBox.

 ,

Chord
()

qt ли c#, что быстрее?

Форум — Development

Как-то писал прогу, которая распознает с экрана графические примитивы (кружки, треугольники, квадраты и т.д.). Алгоритм примерно такой:

1. Получил доступ к десктопу  QDesktopWidget * desk = QApplication::desktop();
    и к скрину QScreen *screen = QGuiApplication::primaryScreen();
2. Грабанул кусок экрана в pixmap 
    boardPixmap = screen->grabWindow(desk->winId(), boardX, boardY, boardW, boardH);
3. Преобразовал pixmap в QImage  boardImage = boardPixmap.toImage()
4. Картинка логически организована как поле 20х20 клеток
4. Используя QImage::pixelColor() прохожу по диагонали каждую клетку и попиксельно считываю цвета каждого пикселя и делаю своего рода хэш примитива. Сравнивая с эталонным хэшем определяю, что за примитив в клетке.

Это всё было под линуксом. Теперь хочу это реализовать в винде. Не могу определиться, заюзать qt или может в c# есть возможность реализовать задачу, чтобы работало быстрее, чем в qt? Т.е. можно ли в c# сделать быстрее попиксельное чтение картинки?

Понятно, что тут больше qt юзают, но может и c# кто знает неплохо?

 , ,

Chord
()

VirtualBox - не грузится модуль vboxdrv

Форум — Admin

Обновил ядро до 6.6.57 и пересобрал модуль virtualbox'a.

При запуске virtualbox выдает :


Kernel driver not installed (rc=-1908)
The VirtualBox Linux kernel driver is either not loaded or not set up correctly. Please try setting it up again by executing
'emerge -1 virtualbox-modules'
as root.
Модуль пересобрал, перезагрузился, при попытке подгрузить его выдает:
# modprobe vboxdrv
modprobe: ERROR: could not insert 'vboxdrv': Exec format error

emerge --info virtualbox
app-emulation/virtualbox-7.0.20::gentoo was built with the following:
USE="alsa dbus gui nls opengl sdk sdl udev vmmraw -debug -doc -dtrace -java -lvm -pam (-pch) -pulseaudio -python -vboxwebsrv -vde -vnc" ABI_X86="(64)" PYTHON_SINGLE_TARGET="-python3_10 -python3_11"
CFLAGS="-march=native -O2 -pipe -fomit-frame-pointer -mno-abm -mno-avx -mno-avx2 -mno-bmi -mno-bmi2 -mno-fma -mno-fma4 -mno-popcnt"
CXXFLAGS="-march=native -O2 -pipe -fomit-frame-pointer -mno-abm -mno-avx -mno-avx2 -mno-bmi -mno-bmi2 -mno-fma -mno-fma4 -mno-popcnt"
emerge --info virtualbox-modules
app-emulation/virtualbox-modules-7.0.20::gentoo was built with the following:
USE="dist-kernel strip -modules-compress -modules-sign" ABI_X86="(64)"

Что за проблема такая?

Перемещено hobbit из general

 , ,

Chord
()

fstrim - the discard operation is not supported

Форум — General

Есть внешний SSD, семь разделов, все разделы - ntfs. Хочу потримать, но тримаются только 3 раздела, на остальных четырех the discard operation is not supported. Почему? Те же самые разделы с той же самой ntfs.

# fstrim -av
fstrim: /run/media/hevioso/L-WIN10: the discard operation is not supported
/run/media/hevioso/UEFI-WIN10: 641 MiB (672120832 bytes) trimmed on /dev/sde2
fstrim: /run/media/hevioso/L-WINPE: the discard operation is not supported
/run/media/hevioso/BOOT-MINT: 337.8 MiB (354250752 bytes) trimmed on /dev/sde1
/run/media/hevioso/UEFI-WINPE: 191.7 MiB (201039872 bytes) trimmed on /dev/sde3
fstrim: /run/media/hevioso/PACK: the discard operation is not supported
fstrim: /run/media/hevioso/L-Win7: the discard operation is not supported

Этот же самый диск тримал в апреле этого года, тогда discard поддерживался...

 , ,

Chord
()

Скрыть ОС от посещаемого сайта

Форум — Security

Как скрыть от сайта, что на сайт зашли с ОС семейства linux?

Заюзал user-agent-switcher чтобы модифицировать user-agent, и проверяю на странице https://www.whatismybrowser.com/detect/what-is-my-user-agent/

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36
Вроде бы показывает что Windows NT 10, но сайт по-прежнему видит систему семейства linux.

Например вот здесь ясно указывается что linux: https://www.whatismybrowser.com/detect/what-operating-system-do-i-have/

Как замаскировать под винду?

 , ,

Chord
()

Автоматический патч ебилда

Форум — General

Когда нужно пропатчить сорцы всё решается просто: кладем патч в /etc/portage/patches/<имя_пакета> и он автоматом применяется перед сборкой.

Есть ли какой-нибудь способ автоматического применения патча не к сорцам, а к ебилду?

 , ,

Chord
()

Обновился... KMenu пропало.

Форум — Desktop

Обновил кеды до 6 версии. Слетел виджет KMenu. При попытке запустить пишет, что старый виджет несовместим с новыми кедами. При этом никаких опций по удалению с панели нерабочего виджета и добавления нового нет. Раньше была опция переключения на альтернативные виджеты, сейчас этой опции нет. Как вернуть KMenu?

 ,

Chord
()

wireguard

Форум — Admin

Установил сабж, нашел сайт с фри-конфигами, сгенерил конфиг, запустил с ним wg-quick. Всё вроде работает, но периодически обрывается связь, приходится перезапускать интерфейс (wg-quick down / wg-quick up).

Решил попробовать другой сервер. В общей сложность попробовал более 10 разных серверов (с разных сайтов) - ни один не работает. Интерфейс подымается, но интернета нет.

Тот конфиг, который пробовал первым - по-прежнему работает. Ни один другой конфиг не хочет работать. Это что, всего один рабочий сервер на весь интернет? Или есть какой-то кэш, который надо сбросить? Может есть какая-то другая тонкость при переходе с одного сервера на другой?

 

Chord
()

Настройка панели быстрого запуска (KDE)

Форум — Desktop

На этом скрине исходное состояние панели быстрого запуска - справа от KMenu стоят лаунчеры systemsettings, dolphin, konsole, chromium.

Если запустить к примеру dolphin, то в панели задач появляется кнопка dolphina с текстом заголовка (как и положено). Но при этом исчезает сам лаунчер dolphin'а

Как пофиксить, чтобы лаунчер не исчезал? Нигде ме могу найти этой настройки.

 , ,

Chord
()

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