diff --git a/src/OptionsPopup.qml b/src/OptionsPopup.qml index 2498ac2..d7458d5 100644 --- a/src/OptionsPopup.qml +++ b/src/OptionsPopup.qml @@ -478,7 +478,10 @@ Popup { if ('sshUserName' in settings) { fieldUserName.text = settings.sshUserName chkSetUser.checked = true + } else { + fieldUserName.text = imageWriter.getCurrentUser() } + if ('wifiSSID' in settings) { fieldWifiSSID.text = settings.wifiSSID if ('wifiSSIDHidden' in settings && settings.wifiSSIDHidden) { diff --git a/src/imagewriter.cpp b/src/imagewriter.cpp index c598d84..b4f2557 100644 --- a/src/imagewriter.cpp +++ b/src/imagewriter.cpp @@ -1232,6 +1232,26 @@ QString ImageWriter::detectPiKeyboard() return QString(); } +QString ImageWriter::getCurrentUser() +{ + QString user = qgetenv("USER"); + + if (user.isEmpty()) + user = qgetenv("USERNAME"); + + user = user.toLower(); + if (user.contains(" ")) + { + auto names = user.split(" "); + user = names.first(); + } + + if (user.isEmpty() || user == "root") + user = "pi"; + + return user; +} + bool ImageWriter::hasMouse() { return !_embeddedMode || QFile::exists("/dev/input/mouse0"); diff --git a/src/imagewriter.h b/src/imagewriter.h index f8bb878..380c944 100644 --- a/src/imagewriter.h +++ b/src/imagewriter.h @@ -117,6 +117,7 @@ public: Q_INVOKABLE QStringList getTranslations(); Q_INVOKABLE QString getCurrentLanguage(); Q_INVOKABLE QString getCurrentKeyboard(); + Q_INVOKABLE QString getCurrentUser(); Q_INVOKABLE void changeLanguage(const QString &newLanguageName); Q_INVOKABLE void changeKeyboard(const QString &newKeymapLayout); Q_INVOKABLE bool customRepo();