프로그램으로 네트워크 설정 (라즈비안)
// 파일 권한을 내리고
chmod 777 /etc/network/interfaces
void Network_Dlg::on_BtnOk_clicked()
{
// 네트워크 파일 수정
QFile NetFile("/etc/network/interfaces");
if(NetFile.open(QIODevice::ReadWrite | QIODevice::Text)) {
QString Data;
Data.sprintf("auto lo\r\n"
"iface lo inet loopback\r\n"
"\r\n"
"auto eth0\r\n"
"allow-hotplug eth0\r\n"
"iface eth0 inet static\r\n"
"address %s\r\n"
"netmask %s\r\n"
"gateway %s\r\n"
"\r\n"
"\r\n"
"auto wlan0\r\n"
"allow-hotplug wlan0\r\n"
"iface wlan0 inet manual\r\n"
"wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf\r\n"
"\r\n"
"auto wlan1\r\n"
"allow-hotplug wlan1\r\n"
"iface wlan1 inet manual\r\n"
"wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf\r\n"
, ui->EdtIp->text().toStdString().c_str()
, ui->EdtNetmask->text().toStdString().c_str()
, ui->EdtGateway->text().toStdString().c_str());
NetFile.write(Data.toStdString().c_str(), Data.length());
NetFile.close();
}
// 네트워크 재 가동
QProcess *pro = new QProcess;
QStringList args;
args << "-c" << "sudo /etc/init.d/networking restart";
pro->start("/bin/sh", args);
pro->waitForFinished();
this->close();
}