LINUX.ORG.RU

Сообщения Chord

 

Qt5 to Qt6 проблемы

Есть такой простенький класс - обертка для 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
()

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

На смартфоне установлен сервер 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
()

Версии ядра

Решил обновить ядро, сейчас стоит 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 не перерисовывается в процессе выполнения цикла

Есть список серверов. В таблице. Прохожу циклом по таблице и последовательно коннекчусь к каждому серверу. После коннекта проверяю, есть интернет или нет (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)

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

Хотелки:

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

Баш скрипт:

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

Что-то не так с локалями. Регулярно при запуске 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
()

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

Документы - текстовые, фото, видео, 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 модема

До сего дня коннектился к смарту (в режиме 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 с первой попытки

При выходе из сна (по нажатию клавиатуры) комп выходит на долю секунды из сна (иногда успевает засветиться экран, иногда не успевает) и сразу же снова самопроизвольно переходит в сон. Со второй побудки уже просыпается окончательно. Никаких ошибок в 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 скриншот

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

 ,

Chord
()

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

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

 ,

Chord
()

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

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

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

Обновил ядро до 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

Есть внешний 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
()

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

Как скрыть от сайта, что на сайт зашли с ОС семейства 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
()

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

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

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

 , ,

Chord
()

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

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

 ,

Chord
()

wireguard

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

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

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

 

Chord
()

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

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

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

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

 , ,

Chord
()

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