microsoft / vscode

Visual Studio Code
https://code.visualstudio.com
MIT License
162.94k stars 28.77k forks source link

Open New External Terminal Not Work (Ubuntu Linux) #179958

Closed codewithleader closed 3 months ago

codewithleader commented 1 year ago

Type: Bug

Since the last update I can't open the external terminal from VSCode, before I did it easily with the ctrl+shift+c key combination and now it doesn't open at all.

I try both with the key combination ctrl+shift+c or looking for the option "Open New External Terminal" in "show all commands" but it doesn't work. Even from Explorer by right clicking on the context menu "Open in External Terminal" and it doesn't open either.

The external terminal is the Ubuntu terminal and it works perfectly.

I clarify that before the last update I could perfectly open the external terminal with the ctrl+shift+C key combination without any problem.

I hope they give me the solution because I had already gotten used to opening the external terminal from vscode so I don't have to navigate to the project folder if I open it from outside vscode.

Thank you

VS Code version: Code 1.77.3 (704ed70d4fd1c6bd6342c436f1ede30d1cff4710, 2023-04-12T09:16:52.732Z) OS version: Linux x64 5.19.0-38-generic snap Modes: Sandboxed: No

System Info |Item|Value| |---|---| |CPUs|Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz (4 x 2095)| |GPU Status|2d_canvas: unavailable_software
canvas_oop_rasterization: disabled_off
direct_rendering_display_compositor: disabled_off_ok
gpu_compositing: disabled_software
multiple_raster_threads: enabled_on
opengl: disabled_off
rasterization: disabled_software
raw_draw: disabled_off_ok
skia_renderer: enabled_on
video_decode: disabled_software
video_encode: disabled_software
vulkan: disabled_off
webgl: unavailable_software
webgl2: unavailable_software
webgpu: disabled_off| |Load (avg)|2, 2, 1| |Memory (System)|7.67GB (3.03GB free)| |Process Argv|--no-sandbox --force-user-env --unity-launch --crash-reporter-id 1252cec0-e82a-4cdf-895c-ab1fe5480405| |Screen Reader|no| |VM|0%| |DESKTOP_SESSION|ubuntu| |XDG_CURRENT_DESKTOP|Unity| |XDG_SESSION_DESKTOP|ubuntu| |XDG_SESSION_TYPE|x11|
Extensions (41) Extension|Author (truncated)|Version ---|---|--- better-comments|aar|3.0.2 codesnap|adp|1.3.4 vscode-sql-formatter|adp|1.4.4 Bookmarks|ale|13.3.1 project-manager|ale|12.7.0 clipboard-history|Anj|1.0.7 jsoncrack-vscode|Ayk|1.0.8 vscode-intelephense-client|bme|1.9.5 path-intellisense|chr|2.8.4 vscode-css-modules|cli|0.4.2 vscode-eslint|dba|2.4.0 vscode-html-css|ecm|1.13.1 prettier-vscode|esb|9.10.4 auto-rename-tag|for|0.1.10 vscode-drawio|hed|1.6.6 vscode-power-mode|hoo|3.0.2 svg|joc|1.5.2 vscode-gist|ken|3.0.3 template-string-converter|meg|0.6.1 git-graph|mhu|1.30.0 dotenv|mik|1.0.1 document|min|2.2.1 mongodb-vscode|mon|0.11.1 sqltools|mtx|0.27.1 sqltools-driver-mysql|mtx|0.5.1 color-highlight|nau|2.5.0 subtitles-editor|pep|1.1.7 vscode-versionlens|pfl|1.5.0 material-icon-theme|PKi|4.26.0 vscode-css-peek|pra|4.2.0 quicktype|qui|12.0.46 trailing-spaces|sha|0.4.1 svg-preview|Sim|2.8.3 some-sass|Som|2.10.0 comment-divider|sta|0.4.0 lorem-ipsum|Tyr|1.3.1 highlight-matching-tag|vin|0.11.0 vscode-conventional-commits|viv|1.25.0 vscode-todo-highlight|way|1.0.5 markdown-all-in-one|yzh|3.5.1 php-intellisense|zob|1.1.2 (2 theme extensions excluded)
A/B Experiments ``` vsliv368cf:30146710 vsreu685:30147344 python383cf:30185419 vspor879:30202332 vspor708:30202333 vspor363:30204092 vslsvsres303:30308271 vserr242:30382549 pythontb:30283811 vsjup518:30340749 pythonptprofiler:30281270 vshan820:30294714 vstes263:30335439 vscorecescf:30445987 pythondataviewer:30285071 vscod805cf:30301675 binariesv615:30325510 bridge0708:30335490 bridge0723:30353136 cmake_vspar411:30581797 vsaa593:30376534 pythonvs932:30410667 cppdebug:30492333 vscaac:30438847 vsclangdc:30486549 c4g48928:30535728 dsvsc012cf:30540253 pynewext54:30695312 azure-dev_surveyone:30548225 nodejswelcome1cf:30587006 282f8724:30602487 pyind779:30671433 f6dab269:30613381 pythonsymbol12:30671437 6233i204:30672705 defaultazurewalk:30687958 pythonms35:30701012 pythonclientmvcf:30713944 ```
meganrogge commented 1 year ago

This works for me on Insider's/macOS. Can you try insider's?

starball5 commented 1 year ago

I can reproduce this issue on my Ubuntu 22.04.1 machine with VS Code 1.77.3. The issue reproduces if I keep the default setting of "terminal.external.linuxExec": "x-terminal-emulator", and also if I change it to gnome-terminal.

I cannot reproduce this issue on my Windows 11 machine with VS Code 11.77.3.

I encountered another user on Ubuntu 22.04.2 who can reproduce this issue as well. See this post on Stack Overflow: Why does Ctrl + Shift + C no longer open a new external terminal in VS Code? and my answer post there.

rolandm2017 commented 1 year ago

Able to reproduce the bug on Ubuntu 22.04.2 LTS with VS Code 1.77.2.

anthonyArtizen commented 1 year ago

Same issue with Ubuntu 22.04.2 LTS and VS Code : image

Impossible to open a new external terminal.

DavidArmendariz commented 1 year ago

Same here with Ubuntu 22.04.2 LTS

codewithleader commented 1 year ago

This works for me on Insider's/macOS. Can you try insider's?

My system is Ubuntu 22.04.2 LTS

Screenshot from 2023-04-18 14-43-45

ABackerNINI commented 1 year ago

Same Issue https://github.com/microsoft/vscode/issues/178982 here, And I tried to locate the issue but failed, ;( Ubuntu 22.04 too.

ramfaof commented 1 year ago

Running gnome-terminal on the integrated terminal is possible by using unset GTK_PATH, without this the terminal displays the error:

/usr/bin/gnome-terminal.real: symbol lookup error: /snap/core20/current/lib/x86_64-linux-gnu/libpthread.so.0: undefined symbol: __libc_pthread_init, version GLIBC_PRIVATE
MengLinMaker commented 1 year ago

I'm on Ubuntu 20.04 and cannot reproduce this issue. An external terminal can be opened for me.

starball5 commented 1 year ago

I wonder if this is related to Snap installations? I'm also on Ubuntu 22.04.2 with VS Code installed as a Snap (I have VS Code 1.78.2 now).

@ramfaof I can reproduce the behaviour you've described.

MengLinMaker commented 1 year ago

@starball5 Could be an Ubuntu 22.04 issue. My VSCode 1.78.0 was installed from snap.

So far what is different about my machine is the Ubuntu version: 20.04

My VSCode about: image

In text form:

Version: 1.78.0
Commit: 252e5463d60e63238250799aef7375787f68b4ee
Date: 2023-05-03T20:09:46.685Z
Electron: 22.4.8
Chromium: 108.0.5359.215
Node.js: 16.17.1
V8: 10.8.168.25-electron.0
OS: Linux x64 5.11.0-41-generic snap
Sandboxed: Yes
MengLinMaker commented 1 year ago

@starball5 I don't understand what you mean. So I've added the text.

starball5 commented 1 year ago

The user who asked the Stack Overflow question I answered has this:

Version: 1.78.2
Commit: b3e4e68a0bc097f0ae7907b217c1119af9e03435
Date: 2023-05-10T14:47:05.613Z
Electron: 22.5.2
Chromium: 108.0.5359.215
Node.js: 16.17.1
V8: 10.8.168.25-electron.0
OS: Linux x64 5.19.0-41-generic snap
Sandboxed: No
mijorus commented 1 year ago

same, ubuntu 23.04

rzvc commented 1 year ago

I'm also experiencing this issue on Ubuntu 22.04. Snap installation.

ABackerNINI commented 1 year ago

Hi guys. Installing vscode deb package downloaded from the vscode website can solve this problem. This is a temporary solution and don't forget to back up your vscode configurations.

I guess this problem only appears in snap version, not sure.

codewithleader commented 1 year ago

Hi guys. Installing vscode deb package downloaded from the vscode website can solve this problem. This is a temporary solution and don't forget to back up your vscode configurations.

I guess this problem only appears in snap version, not sure.

OMG!!! thanks!! now it works perfect. But will it update automatically?

hartmut27 commented 1 year ago

also a bug under Manjaro XFCE 23.0.0.

as a work-around until this bug is fixed, this works for me: execute command ( Ctrl + Shift + p ) "Toggle Terminal ": ( Ctrl + Shift + ´ ) then a external terminal opens. if more terminals are needed, then: right click in the terminal area, "New terminal"

starball5 commented 1 year ago

@hartmut27 I'm confused. You mean that if you run the command to open a new external terminal, it doesn't open, but once you open the Terminal Panel or do an action that is supposed to open an integrated terminal, the external terminal you requested opens? Or you mean that you have just temporarily given up on getting an external terminal and are using the integrated terminal?

hartmut27 commented 1 year ago

my fault, sorry, @starball5 (i didn't distinguish between external terminal and internal terminal panel. I should have done so. )

It doesn't open an external terminal. ( as a work-around, I am currently opening a integrated terminal instead ). Opening a external terminal does not work under Manjaro XFCE 23.0.0.

ramfaof commented 1 year ago

The source of the problem is clear, and still after 3 months no fix or feedback was provided. I guess that is time to stop using snap.

codewithleader commented 1 year ago

The source of the problem is clear, and still after 3 months no fix or feedback was provided. I guess that is time to stop using snap.

Yes my brother! I am using the vscode that I downloaded directly from the Microsoft website. And ubuntu downloads the updates for me the same as with the snap so that's how I solved my problem. Please, Uninstall the vscode from "Ubuntu Software" and install the one from the official page: https://code.visualstudio.com/download

hartmut27 commented 1 year ago

I think I found a way to correct the setup. In vscode, go to Settings (Ctrl + , ) then search for "exec", in "Terminal > External: Linux Exec" enter e.g. "konsole" if your have "konsole" installed, or another terminal application name. Check if the terminal application can be run in a console. In my case gnome-terminal and also xterm both lead to "bash: ... command not found". In my case, there was "xterm" configured, but "xterm" was not installed on my Manjaro XFCE. After changing the setting, opening external console in vscode works (Ctrl + Shift + C) in my case. So, in my eyes, not a bug in the distro packages, but a default malconfiguration eventually. But there is a bug in that sense, that when vscode wants start a terminal application which does not exists in search path, no error occurs! a silent fail.

mzaidvf commented 1 year ago

+1

mh-saeed commented 11 months ago

+1

mh-saeed commented 11 months ago

mine got resolved after I uninstalled the snap/ubuntu store one, and re-installed it through .deb file downloaded from vs-code website.

Jphn commented 8 months ago

mine got resolved after I uninstalled the snap/ubuntu store one, and re-installed it through .deb file downloaded from vs-code website.

same here

TejashTntra commented 5 months ago

same here

lingxd commented 4 months ago

same here

版本: 1.89.1 提交: dc96b837cf6bb4af9cd736aa3af08cf8279f7685 日期: 2024-05-07T05:16:23.416Z Electron: 28.2.8 ElectronBuildId: 27744544 Chromium: 120.0.6099.291 Node.js: 18.18.2 V8: 12.0.267.19-electron.0 OS: Linux x64 5.4.0-150-generic

ubuntu18.04lts

"terminal.integrated.defaultProfile.linux": "zsh", "terminal.external.linuxExec": "gnome-terminal"

gnome-terminal is work

robrat commented 3 months ago

I have the same issue on Ubuntu 22.04.4 LTS and VSCode 1.90 installed from a deb package:

Version: 1.90.0
Commit: 89de5a8d4d6205e5b11647eb6a74844ca23d2573
Date: 2024-06-04T19:43:07.605Z
Electron: 29.4.0
ElectronBuildId: 9593362
Chromium: 122.0.6261.156
Node.js: 20.9.0
V8: 12.2.281.27-electron.0
OS: Linux x64 6.5.0-35-generic

Setting terminal.external.linuxExec to gnome-terminal was not working for me, but for an unknown reason xfce4-terminal works.

I'm pretty sure that 1.8x versions of VSCode were working with gnome-terminal on my machine, but I haven't tried downgrading yet since the xfce4-terminal workaround is ok for me.

qxzcode commented 2 months ago

The problem, at least for me, is that GTK_PATH is set to /snap/code/<version>/usr/lib/x86_64-linux-gnu/gtk-3.0 in the snap distribution of vscode. Unsetting this fixes the problem, as @ramfaof mentions.

I worked around it by creating the following script called vscode_open_terminal_fix, putting it in a place on my PATH, and then setting terminal.external.linuxExec to vscode_open_terminal_fix:

#!/bin/bash
GTK_PATH="" x-terminal-emulator $@

In my opinion this is still an open issue because this is clearly just working around a bug... but it seems like it should be an easy fix?