50 const QString runtimeDirectory = QStandardPaths::writableLocation(QStandardPaths::RuntimeLocation);
52 authorityFile->setFileTemplate(runtimeDirectory + QStringLiteral(
"/xauth_XXXXXX"));
53 if (!authorityFile->open()) {
57 const QByteArray hostname = QSysInfo::machineHostName().toUtf8();
58 const QByteArray displayName = QByteArray::number(display);
59 const QByteArray name = QByteArrayLiteral(
"MIT-MAGIC-COOKIE-1");
60 const QByteArray cookie = generateXauthorityCookie();
62 QDataStream stream(authorityFile);
63 stream.setByteOrder(QDataStream::BigEndian);
66 writeXauthorityEntry(stream, 256 , hostname, displayName, name, cookie);
69 writeXauthorityEntry(stream, 65535 , QByteArray{}, displayName, name, cookie);
71 if (stream.status() != QDataStream::Ok || !authorityFile->flush()) {
72 authorityFile->remove();