От здесь .
общее использование А для межпроцессного Взаимного исключения должно гарантировать, что только экземпляр программы может работать за один раз. Вот то, как это сделано:
class OneAtATimePlease {
// Use a name unique to the application (eg include your company URL)
static Mutex mutex = new Mutex (false, "oreilly.com OneAtATimeDemo");
static void Main()
{
// Wait 5 seconds if contended – in case another instance
// of the program is in the process of shutting down.
if (!mutex.WaitOne(TimeSpan.FromSeconds (5), false))
{
Console.WriteLine("Another instance of the app is running. Bye!");
return;
}
try
{
Console.WriteLine("Running - press Enter to exit");
Console.ReadLine();
}
finally
{
mutex.ReleaseMutex();
}
}
}
А хорошая функция Взаимного исключения - то, что, если приложение завершается без ReleaseMutex, сначала будучи названным, CLR выпустит Взаимное исключение автоматически.
KDM
, Если Вы используете KDM:
Параметры настройки системы KDE> Экран Входа в систему> Тема
Установка и выбор тема со списком пользователей - вот тот: http://kde-look.org/content/show.php/Kubuntu+Sitter+KDM?content=150704
LightDM
, Если Вы используете lightdm-kde-greeter. Ранее: https://www.kubuntuforums.net/showthread.php? Параметры настройки системы 57401-Lightdm-KDE
KDE> Экран Входа в систему (LightDM)> Тема - Выбор тема со списком пользователей