Piszę instalator graficzny dla Arch Linuxa, wykorzystuje polecenia systemowe menedżera pacman przy instalacji, niestety używając biblioteki QProcess nigdy nie udaje się zakończyć tego z powodzeniem. Wyświetla nie wiadomo skąd komunikaty o ponownej instalacji pakietów, a po ich pobraniu podczas próby zainstalowania zasypuje błędami. Korzystając z funkcji system (zamiana QStringa przy pomocy toStdString().c_str()) w przypadku QT również są problemy, natomiast w napisanym wcześniej instalatorze konsolowym działają bez problemu. Próbowałem start, ale wtedy nie wyświetla input-u pacmana i kończy całą instalację bardzo szybko, więc nie wiem nawet w czym problem, przy execute natomiast wyświetla błędy o których wspominałem. Macie może jakieś pomysły jak to rozwiązać?

void MainWindow::on_pushButton_4_clicked()
{
    ui->strona_5->setVisible(false);
    ui->strona_6->setVisible(true);
    instalacja_1 inst1;
    inst1.start_inst();
    ui->progressBar->setValue(25);
    if(arch==2)
    {
    instalacja_2_64 inst2;
   dane = ui->line_user->text();
   ui->progressBar->setValue(34);
    inst2.start_ins_2_64(soft);
    ui->progressBar->setValue(70);
    inst2.user_create(dane, lxdm);
    ui->progressBar->setValue(100);
    }


} 
 class instalacja_1: public QDialog
{
    Q_OBJECT
    QProcess rozpocznij_1;
public:
    void start_inst();
};

#endif
 void instalacja_1::start_inst()
 {
 rozpocznij_1.start("pacstrap -i /mnt base ruby --noconfirm");
 rozpocznij_1.waitForFinished(10000);
  rozpocznij_1.waitForStarted();
  rozpocznij_1.waitForBytesWritten();
 rozpocznij_1.close();
            rozpocznij_1.start("genfstab -U -p /mnt >> /mnt/etc/fstab");
            rozpocznij_1.waitForFinished(10000);
             rozpocznij_1.waitForStarted();
            rozpocznij_1.waitForBytesWritten();
            rozpocznij_1.close();
            system ("cp /etc/locale.conf /mnt/etc"); //z poniższymi poleceniami raczej nie ma problemu
            system ("cp /etc/locale.gen /mnt/etc");
            system ("cp /etc/vconsole.conf /mnt/etc");
            system ("cp /etc/skel/.bash_profile /mnt/etc/skel");
            system ("cp /etc/skel/.bashrc /mnt/etc/skel");
            system ("cp /etc/skel/.xinitrc /mnt/home");
            system ("cp -R /etc/skel/.config /mnt/etc/skel");
            system ("cp /etc/xdg/user-dirs.conf /mnt/etc/xdg");
            system ("cp /etc/xdg/user-dirs.defaults /mnt/etc/xdg");
            system ("mkdir /mnt/usr/share/wallpapers");
            system ("cp /usr/share/wallpapers/tlobeta.png /mnt/usr/share/wallpapers");
            system ("cp /etc/sudoers /mnt/home");
            system ("cp /etc/lxdm.conf /mnt/home");
            system ("cp -R /etc/nexia /mnt/etc"); 
 class instalacja_2_64: public QDialog
{
    Q_OBJECT
        QString host, polecenia = "echo ", op, login, soft=" ", pacman = "pacman -S xorg-server xorg-xinit plasma-workspace systemsettings powerdevil plasma-nm plasma-desktop kwin ksysguard virtualbox-guest-utils kdebase-dolphin konsole compass-kde-icon-theme ntfs-3g xdg-user-dirs chromium chromium-pepper-flash  xterm alsa-utils gksu p7zip base-devel ephifonts", useradd = "useradd -m -G users,audio,lp,optical,storage,video,wheel,power,network -s /bin/bash ", user, passcrypt="openssl passwd -1 ";
       QProcess rozpocznij;
        // QString test_pacman="pacman -S vlc";
public:

    instalacja_2_64();
    void start_ins_2_64(QString);
    void user_create(QString, bool);
    
};
 instalacja_2_64::instalacja_2_64()
{
    system ("locale-gen");
    system ("export LANG=pl_PL.UTF-8");
    system ("loadkeys pl");
    system ("setfont Lat2-Terminus16");
    system ("ln -s /usr/share/zoneinfo/Europe/Warsaw /etc/localtime");
    system ("hwclock --systohc --utc");
    system ("( echo [repo64] ; echo SigLevel = Never ; echo Server = https://dl.dropboxusercontent.com/u/44000136/Repo64/) >> /etc/pacman.conf");
    system ("( echo [multilib] ; echo SigLevel = PackageRequired ; echo Include = /etc/pacman.d/mirrorlist) >> /etc/pacman.conf");
    rozpocznij.start("pacman -Sy"); //dotąd też nie ma problemu
    rozpocznij.waitForStarted();
    rozpocznij.waitForFinished();
    rozpocznij.waitForBytesWritten();
    rozpocznij.close();
    rozpocznij.start("pacman -S grub-bios os-prober --noconfirm");
     rozpocznij.waitForStarted();
    rozpocznij.waitForFinished();
    rozpocznij.waitForBytesWritten();
    rozpocznij.close();
    system ("rm /etc/default/grub");
    system ("mv /etc/nexia/grub /etc/default");
    rozpocznij.start("grub-install --target=i386-pc --recheck /dev/sda");
     rozpocznij.waitForStarted();
    rozpocznij.waitForFinished();
     rozpocznij.waitForBytesWritten();
    rozpocznij.close();
    rozpocznij.start("grub-mkconfig -o /boot/grub/grub.cfg");
     rozpocznij.waitForStarted();
    rozpocznij.waitForFinished();
     rozpocznij.waitForBytesWritten();
    rozpocznij.close();
}

void instalacja_2_64::user_create(QString user, bool lxdm)
{
    

    useradd += user;
    rozpocznij.start(useradd);
     rozpocznij.waitForStarted();
    rozpocznij.waitForFinished();
     rozpocznij.waitForBytesWritten();
    rozpocznij.close();

         if (lxdm)
    {
        system ("rm /etc/lxdm/lxdm.conf");
        system ("mv /home/lxdm.conf /etc/lxdm");
        system ("systemctl enable lxdm");
    }
    else
    {
        useradd = "( echo [Service] ; echo ExecStart= ; echo ExecStart=-/sbin/agetty --autologin ";
        useradd += user;
        useradd += " --noclear %I 38400 linux) >> /etc/systemd/system/[email protected]/autologin.conf";
        rozpocznij.start(useradd);
         rozpocznij.waitForStarted();
        rozpocznij.waitForFinished();
         rozpocznij.waitForBytesWritten();
        rozpocznij.close();
       
        system ("rm /home/lxdm.conf");
        system ("rm /etc/nexia/lxbg.png");
    }
}
    

void instalacja_2_64::start_ins_2_64(QString soft)
{
  



    pacman += soft;
    pacman += " --noconfirm";
    rozpocznij.start(pacman);
     rozpocznij.waitForStarted();
    rozpocznij.waitForFinished();
     rozpocznij.waitForBytesWritten();
    rozpocznij.close();


    system ("rm /etc/skel/.xinitrc");
    system ("mv /home/.xinitrc /etc/skel");

  
    
   
    
    system ("systemctl enable NetworkManager.service");
    system ("systemctl disable dhcpcd.service");
    system ("systemctl disable [email protected]");
    system ("systemctl enable wpa_supplicant.service");
    system ("rm /etc/sudoers");
    system ("mv /home/sudoers /etc");
    
 
}