Je voudrais savoir s'il existe un moyen de se tmux
comporter comme screen -D -R
je pourrais dire, avoir la commande comme commande par défaut dans Putty.
Ces screen
commutateurs forceraient le détachement d'une session d'écran existante pour mon utilisateur (même si elle était encore active et connectée ailleurs) et la rattacheraient à la session en cours. De plus, dans le cas où aucune session d'écran n'existerait, elle en créerait une nouvelle.
J'aime tmux et je peux voir des avantages clairs sur l'écran, mais l'existence de cette fonctionnalité scellerait vraiment l'affaire.
tmux attach
ne semble pas créer une nouvelle session s'il n'y en a pas.
La page de manuel de tmux indique:
Si aucun serveur n'est démarré, attach-session (attach) tentera de le démarrer; cela échouera à moins que des sessions ne soient créées dans le fichier de configuration.
Que signifie la section en gras? (Je ne trouve pas d'exemple de création de session dans le fichier conf).
la source
tmux
commandes qui sont exécutées en séquence lors du premier démarrage du serveur. " - vous pourriez en fait avoirattach
ounew-session
une ligne dans votre.tmux.conf
.new-session
serait arrivé de toute façon ...Réponses:
Oui:
$ tmux attach -d || tmux new
-d
est nécessaire de se comporter commescreen -D
, c'est-à-dire de détacher tout le monde.Connectez-vous par ssh, puis attacher ou créer pourrait être quelque chose comme:
la source
new-session
le fichier de configuration au cas où vous souhaiteriez le modifier et le recharger pendant une session tmux.Pour
tmux attach
créer une nouvelle session quand il n'y en a pas, utilisez l'optionnew-session
dans le fichier de configuration tmux. Créez le fichier~/.tmux.conf
s'il n'existe pas et ajoutezà elle. De plus, je alias
tmux
àtmux attach
:)la source
new-session
à~/.tmux.conf
parce que si je recharger la configuration en utilisant la commandesource-file ~/.tmux.conf
(voir ce ) sera lancé une nouvelle session. Oui, je peux le tuer et ensuite attacher à la précédente mais c'est un peu ennuyeux.Vous pouvez émuler ceci avec une fonction shell, cela devrait fonctionner pour tout shell compatible POSIX:
Maintenant, si vous le lancez en tant que
tmux -z
, il devrait effectuer les actions que vous recherchez.la source
celui-ci fonctionne un peu mieux pour moi:
la source
Je trouve que cela fonctionne le mieux pour moi sur .bashrc
la source
Si vous l'utilisez dans un fichier .shrc ou similaire avec
exec
je recommanderaisla source