/
githubmirror
/
tabby
Обзор
Документация
Войти
/
githubmirror
/
tabby
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
tabby-electron/src/shells/linuxDefault.ts
48 строк
1 KB
Eugene
Merge commit from fork
17 май 2026, 12:58
Не верифицирован
17 май 2026, 12:58
e151472
Код
Авторство
О чём код?
import * as fs from 'mz/fs' import { Injectable } from '@angular/core' import { HostAppService, Platform, LogService, Logger, TranslateService } from 'tabby-core' import { ShellProvider, Shell } from 'tabby-local' /** @hidden */ @Injectable() export class LinuxDefaultShellProvider extends ShellProvider { private logger: Logger constructor ( private hostApp: HostAppService, private translate: TranslateService, log: LogService, ) { super() this.logger = log.create('linuxDefaultShell') } async provide (): Promise<Shell[]> { if (this.hostApp.platform !== Platform.Linux) { return [] } const line = (await fs.readFile('/etc/passwd', { encoding: 'utf-8' })) .split('\n').find(x => x.startsWith(`${process.env.LOGNAME}:`)) if (!line) { this.logger.warn('Could not detect user shell') return [{ id: 'default', name: this.translate.instant('User default'), command: '/bin/sh', env: {}, shellType: 'unix', }] } else { return [{ id: 'default', name: this.translate.instant('User default'), command: line.split(':')[6], args: ['--login'], hidden: true, env: {}, shellType: 'unix', }] } } }