Ich erstelle ein Programm, das in einer Citrix Instanz laufen kann oder auch nicht. Das Programm muss dies erkennen, da es sich auf Citrix anders verhalten muss. Wie kann es zuverlässig erkannt werden? Bisher war meine beste Schätzung, zu überprüfen, ob der Computer ein C-Laufwerk hat.Wie kann ein Programm erkennen, dass es auf Citrix ausgeführt wird?
3
A
Antwort
1
bool(os.environ.get('citrix_version'))
Ich denke, das ist der beste Weg, um in Python zu erkennen.
3
Ich nehme an, Sie möchten wissen, ob Ihre Anwendung in einer XenApp (alias Presentation Server/Metaframe) Sitzung ausgeführt wird?
Überprüfen auf die Existenz von Laufwerk C: ist nicht der richtige Weg, es zu tun. In der Vergangenheit wurden die Laufwerkbuchstaben auf Citrix-Terminalservern häufig neu zugeordnet, z. von C: bis M :. Aber das ist nicht mehr "en vogue".
Für die korrekte Bestimmung des Sitzungstyps siehe my earlier answer.
Wenn Sie stattdessen feststellen möchten, ob XenApp/Presentation Server installiert ist, suchen Sie die entsprechenden Registrierungswerte wie unter Citrix Knowledgebase article CTX107570 beschrieben.
Verwandte Themen
- 1. Wie kann ein Ruby-Skript erkennen, dass es in irb ausgeführt wird?
- 2. erkennen, ob ein Programm über die Eingabeaufforderung ausgeführt wird
- 3. Wie kann ich ein Java-Programm anhalten, wenn festgestellt wird, dass es nicht ausgeführt werden soll?
- 4. Erkennen, dass Angular 2 ausgeführt wird
- 5. Ist es möglich, dass ein Singlethread-Programm gleichzeitig auf mehr als einem CPU-Kern ausgeführt wird?
- 6. Wie kann ein Linux-Zeichengerätetreiber erkennen, wenn ein Programm, das es verwendet, abnormal beendet wird?
- 7. Überprüfen, ob ein Programm ausgeführt wird
- 8. Howto erkennen, dass Maven Plugin innerhalb Maven-Projekt ausgeführt wird?
- 9. Wird ein Programm im Kompatibilitätsmodus ausgeführt?
- 10. Ermitteln Sie, ob ein Programm auf einem Remotedesktop ausgeführt wird
- 11. Wie wird das angegebene Programm ausgeführt?
- 12. Erzwingen, dass ein IQueryable ausgeführt wird?
- 13. Kann ein WebKit-Webplugin so konfiguriert werden, dass es auf jeder Seite geladen und ausgeführt wird?
- 14. Wie kann ich erkennen, ob mein Programm in einer Active Directory-Umgebung ausgeführt wird?
- 15. Wie kann ein Shell-Skript wissen, dass es in einer Solaris-Zone ausgeführt wird?
- 16. Wie kann ein Java-Programm im Hintergrund ausgeführt werden?
- 17. Kann ein C-Programm im selben Makefile ausgeführt werden, in dem es erstellt wird?
- 18. Wie kann ich erkennen, dass das MediaPlayer-Objekt abgespielt wird?
- 19. Wie bekomme ich die Protokolldatei, die ein Programm erstellt, wenn es mit subprocess.call() ausgeführt wird?
- 20. Python-Programm wird nicht ausgeführt
- 21. Erkennen, wenn ein Python-Skript interaktiv in Ipython ausgeführt wird
- 22. Wie wird sichergestellt, dass das Setup-Programm mit Administratorrechten ausgeführt wird?
- 23. Wie erzwinge ich, dass mein C# Winforms-Programm als Administrator auf einem beliebigen Computer ausgeführt wird?
- 24. Wie kann ich Citrix Websites so codieren, dass sie ein Secure Gateway (CSG) verwenden?
- 25. Wie wird ein Konstruktor ausgeführt?
- 26. Codeblock verhindert, dass Skript ausgeführt wird, aber interaktiv ausgeführt wird
- 27. Wie sagt ein Python-Programm, ob es in Emacs ausgeführt wird?
- 28. erkennen, ob ein ASCX/ASPX in SharePoint ausgeführt wird?
- 29. Kann ich verhindern, dass window.onbeforeunload aufgerufen wird, wenn ein AJAX-Aufruf ausgeführt wird
- 30. C/C++ Ermitteln, ob ein Programm ausgeführt wird
Virtuenv-Tag entfernt, das Python-spezifisch zu sein scheint. –