Visual Studio-Code kann nicht geöffnet werden

10

Ich habe VS Code mit Ubuntu 16.04 LTS auf meinem Laptop installiert. Ich habe mehrere Installationsmethoden mit identischen Ergebnissen ausprobiert. zuletzt, folgte ich die „neuen“ Anweisungen von Cactux hier . Ich habe versucht, die Anwendung auf zwei Arten ohne Wirkung zu öffnen.

  • Wenn ich das Programm über "Anwendungen" öffne, wird das Symbol ungefähr 15 Sekunden lang im Launcher angezeigt und verschwindet dann. Es wird kein Fehler angezeigt.
  • Wenn ich ein Terminal öffne und tippe code, führt der Befehl nichts aus und ich erhalte in weniger als einer Sekunde eine neue Eingabeaufforderung.

Ich habe Probleme damit, was ich versuchen soll, da ich relativ neu in Linux bin. which codeergibt /usr/bin/code, das ist ein Bash-Skript. Hier komme ich aus meiner Tiefe heraus.

Inhalt des Skripts

/usr/bin$ cat code
#!/usr/bin/env bash
#
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.

# If root, ensure that --user-data-dir or --file-write is specified
if [ "$(id -u)" = "0" ]; then
    for i in $@
    do
        if [[ $i == --user-data-dir || $i == --user-data-dir=* || $i == --file-write ]]; then
            CAN_LAUNCH_AS_ROOT=1
        fi
    done
    if [ -z $CAN_LAUNCH_AS_ROOT ]; then
        echo "You are trying to start vscode as a super user which is not recommended. If you really want to, you must specify an alternate user data directory using the --user-data-dir argument." 1>&2
        exit 1
    fi
fi

if [ ! -L $0 ]; then
    # if path is not a symlink, find relatively
    VSCODE_PATH="$(dirname $0)/.."
else
    if which readlink >/dev/null; then
        # if readlink exists, follow the symlink and find relatively
        VSCODE_PATH="$(dirname $(readlink -f $0))/.."
    else
        # else use the standard install location
        VSCODE_PATH="/usr/share/code"
    fi
fi

ELECTRON="$VSCODE_PATH/code"
CLI="$VSCODE_PATH/resources/app/out/cli.js"
ELECTRON_RUN_AS_NODE=1 "$ELECTRON" "$CLI" "$@"
exit $?

Debug-Ausgabe (aus verschiedenen Verzeichnissen)

~$ bash -x code
++ id -u
+ '[' 1000 = 0 ']'
+ '[' '!' -L code ']'
++ dirname code
+ VSCODE_PATH=./..
+ ELECTRON=./../code
+ CLI=./../resources/app/out/cli.js
+ ELECTRON_RUN_AS_NODE=1
+ ./../code ./../resources/app/out/cli.js
/usr/bin/code: line 35: ./../code: No such file or directory
+ exit 127

/usr/bin$ bash -x code
++ id -u
+ '[' 1000 = 0 ']'
+ '[' '!' -L code ']'
+ which readlink
+++ readlink -f code
++ dirname /usr/share/code/bin/code
+ VSCODE_PATH=/usr/share/code/bin/..
+ ELECTRON=/usr/share/code/bin/../code
+ CLI=/usr/share/code/bin/../resources/app/out/cli.js
+ ELECTRON_RUN_AS_NODE=1
+ /usr/share/code/bin/../code /usr/share/code/bin/../resources/app/out/cli.js
+ exit 0

Inhalt von PATH

~$ $PATH
bash: /home/adam/anaconda3/bin:/home/adam/anaconda3/bin:/home/adam/bin:/home/adam/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin: No such file or directory

Jede Hilfe oder Anregungen sind willkommen.

Adam
quelle
1
Stellen Sie sicher, dass Sie Ihre Pakete aktualisiert haben. Sie können dies mit den folgenden Befehlen überprüfen: 1) sudo apt update 2) sudo apt upgrade . Wenn Sie Fehler erhalten, beheben Sie die Fehler. Versuchen Sie dann, die App vom Terminal aus auszuführen und auf Fehler zu prüfen.
LD James
Nur das funktionierte für mich `` `Snap Run Code` ``
Thomas G.

Antworten:

14

Ich hatte das gleiche Problem hier beschrieben, Neuinstallation von Ubuntu 18.04 LTS. Ich habe VS Code von conda installiert.

Entdeckt, dass, wenn Sie die folgenden ausführen

code --verbose

Hier erfahren Sie, was mit Code los ist. In meinem Fall

code --verbose
[main 20:19:26] Startup error: 
Error: EACCES: permission denied, mkdir '/home/<user>/.config/Code/CachedData'

Sicher genug, dass der Ordner ~ / .config / Code aus irgendeinem Grund Root-Zugriffsberechtigungen hatte. Löschte den Ordner mit sudo.

rm -rf /home/<user>/.config/Code 

Ich habe erneut versucht, Code auszuführen, und es funktioniert einwandfrei.

Robin G.
quelle
4

Ich hatte das gleiche Problem. Wie Robin G und Nezir vorgeschlagen haben, wurde mir klar, dass der Besitzer des /home/user/.config/Code-Driektors die "Wurzel" ist. Sie können jedoch einfach den Besitz dieses Verzeichnisses ändern, anstatt es zu entfernen.

sudo chown -R user /home/user/.config/Code

Die Option "-R" wird benötigt, um den Besitz aller Dateien und Verzeichnisse im Zielverzeichnis rekursiv zu ändern.

Danach funktioniert der Visual Studio Code v. 1.27 unter Ubuntu 18.04 wie auf meinem Computer.

Cheveyotala
quelle
Zumindest habe ich etwas Neues gelernt: chownBefehl
Soma Mbadiwe
2

Debuggen Sie die Bash mit dem richtigen Befehl

Zum Debuggen sollten Sie den folgenden Befehl verwenden:

bash --debugger `which code`

Dadurch wird die Bash-Skriptzeile pro Zeile ausgeführt. Um zur nächsten Zeile zu gelangen, geben Sie einfach n ein und kehren zurück . Veröffentlichen Sie die Ausgabe, als wir mehr sehen werden.

Installation per Snap (für Ubuntu-Versionen> 18.04)

BTW Ubuntu 18.04 LTS (Langzeitversion) unterstützt jetzt Code direkt und Sie können ihn über das Snap-Paket installieren:

Version und Informationen zum von Ubuntu unterstützten Snap anzeigen:

snap info code

und um es zu installieren

sudo snap install code 

Ich persönlich bevorzuge es über apt zu installieren. Befolgen Sie daher diese Anweisung von Microsoft:

VS-Code installieren

curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list'

Dadurch wird der GPG-Schlüssel heruntergeladen und die passenden Dateien kopiert und erstellt. Dann können Sie einfach vs Code aktualisieren und installieren :

sudo apt-get update
sudo apt-get install code
  • Der Vorteil dieser Installationsmethode besteht darin, dass Sie vscode einfach mit dem Befehl apt-get update aktualisieren können . Funktioniert gut und ich benutze vs Code mit dem vim Plugin seit über 2 Jahren (c, c ++, Python, MD, Latex, HTML, Javascript ...).
abu_bua
quelle
Kein Würfel. Zu diesem Zeitpunkt kann ich allerdings nur auf den 18.04 warten. Danke für den Tipp.
Adam
1

Versuchen Sie es im Terminal

code --user-data-dir

Hat für mich gearbeitet.

sarawgeek
quelle
1

Öffnen Sie Ihr Terminal und führen Sie die folgenden Befehle aus:

  1. sudo rm -rf /home/your_username/.config/Code

    (Ersetzen Sie your_usernamedurch Ihren tatsächlichen Benutzernamen.)

    Geben Sie dann Ihr Passwort ein und drücken Sie Enter.

  2. code --verbose

Nkosinathi Sola
quelle
0

VS-Code kann möglicherweise unbemerkt nicht geöffnet werden, wenn Sie keine erforderlichen Abhängigkeiten haben.

Von dieser Seite:

sudo apt-get install -f # Install dependencies
Andrey Kudriavtsev
quelle
Ich hoffe, ein Satz reicht aus, um zu erklären, was es bedeutet, Abhängigkeiten zu installieren
Andrey Kudriavtsev
0
code --verbose

allein hat den Trick für mich getan, als Code nach dem Absturz des X-Systems nicht gestartet werden konnte (blockiert wurde). Die geöffneten Dateien waren jedoch nicht die neuesten, sondern einige alte.

Tero Lahtinen
quelle
0

In meinem Fall war code --verboseder Fehler beim Ausführen:

Fehler: ENOSPC: Systemlimit für die Anzahl der erreichten Dateiüberwacher, beobachten Sie '/ snap / code'

Daher habe ich die Anzahl der Dateiüberwacher auf das Maximum erhöht, indem /etc/sysctl.confich diese am Ende der Datei geändert und hinzugefügt habe:

fs.inotify.max_user_watches=524288

Dann musste ich diesen Befehl ausführen, um den Wert in das System zu laden:

sudo sysctl -p

Jetzt kann ich VScode ohne Probleme ausführen

Alex Jolig
quelle