warpdotdev / Warp

Warp is a modern, Rust-based terminal with AI built in so you and your team can build great software, faster.
https://warp.dev
Other
20.31k stars 338 forks source link

Pre-populated command line after SSH into Steam Deck #2014

Open pquerner opened 1 year ago

pquerner commented 1 year ago

Discord username (optional)

No response

Describe the bug

I am SSHing to my Steam Deck, and I have a prepopulated command line "(deck@steamdeck Desktop)" and it makes it hard for coming commands, since it will fault away with "bash syntax error near unexpected token `$"

(deck@steamdeck Desktop)$ (deck@steamdeck Desktop)$ ls -lah
bash: syntax error near unexpected token `$'

(I have just entered "ls -lah" - everything else before that is coming from Warp prepopulated before every command. I have to manually delete that phrase with CTRL+C)

This is how the process looks like:

ssh deck@deck.ip
bash: line 2: hostname: command not found
cd Desktop/
(deck@steamdeck Desktop)$ (deck@steamdeck Desktop)$cd some_folder/
bash: syntax error near unexpected token `$cd'
(deck@steamdeck Desktop)$ ls -lah
total 24K
drwxr-xr-x  3 deck deck 4.0K Oct 27 14:30 .
drwx------ 29 deck deck 4.0K Oct 27 14:28 ..
//...

Verbose log of SSHing into SD is too long for github to handle.

To Reproduce

No idea :( Have a Steam Deck?

Expected behaviour

No response

Screenshots

image

Operating System

MacOS

OS Version

12.5.1

Shell Version

(deck@steamdeck ~)$ bash --version GNU bash, version 5.1.16(1)-release (x86_64-pc-linux-gnu) Copyright (C) 2020 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software; you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

Warp Version

v0.2022.10.18.08.10.stable_03

Additional context


Does this block you from using Warp daily?

No

Warp Internal (ignore): linear-label:b8107fdf-ba31-488d-b103-d271c89cac3e

No response

dannyneira commented 1 year ago

My guess is that you normally have a custom prompt on the steam deck and that Warp is unable to parse it. 

You can check whether it’s something in your dotfiles by setting up clean configs: Set ZDOTDIR=/ in your ~/.zshenv file. This forces Zsh to run with zero configs.

You can disable parts of your dotfiles just for Warp by using this conditional statement:


if [[ $TERM_PROGRAM != "WarpTerminal" ]]; then
##### WHAT YOU WANT TO DISABLE FOR WARP - BELOW

# Whatever you want to disable

##### WHAT YOU WANT TO DISABLE FOR WARP - ABOVE
fi

Meanwhile, you can disable the SSH wrapper by navigating to Settings > Features. Blocks will stop working but with it disabled, SSH should work as normal.

We have a list of incompatible tools here: https://docs.warp.dev/help/known-issues#list-of-incompatible-tools And more info on custom prompts here: https://docs.warp.dev/features/prompt

pquerner commented 1 year ago

I've put ZDOTDIR=/ into my local ~/.zshenv and on the Steam Deck (didnt exist prior) but it didnt change the outcome.

Can I disable Blocks (SSH Wrapper?) for certain targets only, or only globally?

Disableing Feature "Warp SSH Wrapper" in Feature settings helps. SSHing into Steam Deck works just fine.

Steam Decks dot files:

(1)(deck@steamdeck ~)$ cat ~/.bashrc
#
# ~/.bashrc
#

# If not running interactively, don't do anything
[[ $- != *i* ]] && return

(deck@steamdeck ~)$ cat ~/.bash_profile
#  SPDX-License-Identifier: MIT
#
#  Copyright © 2020 Collabora Ltd.
#  Copyright © 2020 Valve Corporation.
#
#  This file is part of steamos-image-recipes.
#
#  steamos-image-recipes is free software; you can redistribute it and/or modify
#  it under the terms of the GNU Lesser General Public License as published
#  by the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.

#
# ~/.bash_profile
#

[[ -f ~/.bashrc ]] && . ~/.bashrc

Any zsh dot files didnt exist to my knowledge. $SHELL reports as bash.

dannyneira commented 1 year ago

Oh I see, since steam deck uses bash, it doesn't respect the ~/.zshenv file. Try the following and let us know if that helps.

~/.bashrc

#
# ~/.bashrc
#

# If not running interactively, don't do anything
if [[ $TERM_PROGRAM != "WarpTerminal" ]]; then
##### WHAT YOU WANT TO DISABLE FOR WARP - BELOW
[[ $- != *i* ]] && return
##### WHAT YOU WANT TO DISABLE FOR WARP - ABOVE
fi

~/.bash_profile

#  SPDX-License-Identifier: MIT
#
#  Copyright © 2020 Collabora Ltd.
#  Copyright © 2020 Valve Corporation.
#
#  This file is part of steamos-image-recipes.
#
#  steamos-image-recipes is free software; you can redistribute it and/or modify
#  it under the terms of the GNU Lesser General Public License as published
#  by the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.

#
# ~/.bash_profile
#

if [[ $TERM_PROGRAM != "WarpTerminal" ]]; then
##### WHAT YOU WANT TO DISABLE FOR WARP - BELOW
[[ -f ~/.bashrc ]] && . ~/.bashrc
##### WHAT YOU WANT TO DISABLE FOR WARP - ABOVE
fi
pquerner commented 1 year ago

uname -r output:

(1)(deck@steamdeck ~)$ uname -r
5.13.0-valve21.3-1-neptune