diff --git a/apps/terminal/models/applet/applet.py b/apps/terminal/models/applet/applet.py index edf7b332b..5a4a08fe3 100644 --- a/apps/terminal/models/applet/applet.py +++ b/apps/terminal/models/applet/applet.py @@ -216,9 +216,11 @@ class Applet(JMSBaseModel): if private_account and private_account.username not in accounts_username_used: account = private_account else: - accounts = accounts.exclude(username__in=accounts_username_used) \ - .filter(username__startswith='jms_') - account = self.random_select_prefer_account(user, host, accounts) + accounts = accounts.exclude(username__in=accounts_username_used) + public_accounts = accounts.filter(username__startswith='jms_{}'.format(self.name)) + if not public_accounts: + public_accounts = accounts.exclude(username__in=['Administrator', 'root']) + account = self.random_select_prefer_account(user, host, public_accounts) if not account: return ttl = 60 * 60 * 24