mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-19 12:59:02 +02:00
handle two-word commands with tmux
Trying to make a devshell using tmux can fail because "tmux new" expects a single command, not a series of arguments. It does, however, split strings in a suitable way. So you can quote the command. The failure mode is particularly arcane, in that you end up with a message like: ERROR: Unable to spawn terminal auto: \ Execution of 'pseudo /bin/bash' failed with exit code 1: usage: new-session [-d] [-n window-name] [-s session-name] \ [-t target-session] [command] which is confusing because there's no "new-session" anywhere in sight (that's actually "tmux new"), and because what failed to execute wasn't either pseudo or bash. (From OE-Core rev: f8ed7446755eeb88191e16749350efa1e7e6197c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
69a6023502
commit
1f99e74e00
|
@ -122,7 +122,7 @@ class TmuxRunning(Terminal):
|
||||||
|
|
||||||
class Tmux(Terminal):
|
class Tmux(Terminal):
|
||||||
"""Start a new tmux session and window"""
|
"""Start a new tmux session and window"""
|
||||||
command = 'tmux new -d -s devshell -n devshell {command}'
|
command = 'tmux new -d -s devshell -n devshell "{command}"'
|
||||||
priority = 0.75
|
priority = 0.75
|
||||||
|
|
||||||
def __init__(self, sh_cmd, title=None, env=None, d=None):
|
def __init__(self, sh_cmd, title=None, env=None, d=None):
|
||||||
|
@ -133,7 +133,7 @@ class Tmux(Terminal):
|
||||||
# devshells, if it's already there, add a new window to it.
|
# devshells, if it's already there, add a new window to it.
|
||||||
window_name = 'devshell-%i' % os.getpid()
|
window_name = 'devshell-%i' % os.getpid()
|
||||||
|
|
||||||
self.command = 'tmux new -d -s {0} -n {0} {{command}}'.format(window_name)
|
self.command = 'tmux new -d -s {0} -n {0} "{{command}}"'.format(window_name)
|
||||||
Terminal.__init__(self, sh_cmd, title, env, d)
|
Terminal.__init__(self, sh_cmd, title, env, d)
|
||||||
|
|
||||||
attach_cmd = 'tmux att -t {0}'.format(window_name)
|
attach_cmd = 'tmux att -t {0}'.format(window_name)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user