Неможливо відкрити код Visual Studio


10

Я встановив VS-код на своєму ноутбуці за допомогою Ubuntu 16.04 LTS. Я спробував кілька методів установки з однаковими результатами; зовсім недавно, я пішов за «нові» інструкції від Cactux тут . Я спробував відкрити додаток двома способами, безрезультатно.

  • Коли я відкриваю програму в розділі "Програми", піктограма відображається на панелі запуску приблизно 15 секунд і потім зникає. Жодна помилка не спливає.
  • Коли я відкриваю термінал і набираю code, команда нічого не робить, і я отримую новий запит менш ніж за секунду.

Я бореться з тим, що спробувати, оскільки я відносно новачок у Linux. which codeурожайність /usr/bin/code, що є баш сценарієм. Тут я потрапляю за межі своєї глибини.

Зміст сценарію

/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 $?

Налагодження виводу (з різних каталогів)

~$ 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

Зміст 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

Будь-яка допомога чи пропозиції вдячні.


1
Переконайтеся, що оновлення ваших пакетів. Ви можете перевірити це за допомогою цих команд: 1) sudo apt update 2) sudo apt upgrade . Якщо ви отримали якісь помилки, вирішіть їх. Потім спробуйте запустити apt з терміналу і перевірити на наявність помилок.
Л.Д. Джеймс

Тільки це працювало для мене `` `snap run
Thomas G.

Відповіді:


14

У мене була та сама проблема, що описана тут, нова установка Ubuntu 18.04 LTS. Я встановив VS Code з conda.

Виявив, що якщо виконати наступне

code --verbose

Він підкаже, що відбувається з Code. У моєму випадку

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

Досить впевнений, що папка ~ / .config / Code чомусь мала права доступу до root. Видалено папку за допомогою sudo.

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

Знову спробував запустити код, і він працює нормально.


4

У мене була така ж проблема. Як Робін G і Незір запропонували, я зрозумів, що власник /home/user/.config/Code driectory - це «корінь». Однак ви можете просто змінити право власності на цей каталог, а не видаляти його.

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

Параметр "-R" потрібен для рекурсивної зміни власності на всі файли та каталоги в цільовому каталозі.

Після цього Visual Studio Code v. 1.27 на ubuntu 18.04 працює так, як і належить на моїй машині.


Принаймні я дізнався щось нове: chownкоманда
Soma Mbadiwe

2

Налагоджуйте bash правильною командою

Для налагодження слід використовувати таку команду:

bash --debugger `which code`

Це запустить рядок сценарію bash за рядком. Для переходу до наступного рядка просто введіть n і поверніться . Опублікуйте вихід, ніж ми побачимо більше.

Установка за допомогою оснащення (для версій Ubuntu> 18.04)

BTW Ubuntu 18.04 LTS (Довгостроковий випуск) тепер підтримує код безпосередньо, і ви можете встановити його за допомогою оснащення пакетом:

Показати версію та інформацію про оснащення, що підтримується ubuntu:

snap info code

і встановити його

sudo snap install code 

Я особисто вважаю за краще встановлювати його через apt. Тому дотримуйтесь цієї інструкції від Microsoft:

Встановлення коду VS

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'

Це завантажить ключ gpg та скопіює та зробить файли підходящого. Тоді ви можете просто оновити та встановити vs код :

sudo apt-get update
sudo apt-get install code
  • Перевага цього способу установки полягає в тому, що ви можете просто оновити vscode за допомогою команди apt-get update update . Добре працює, і я використовую vs код з плагіном vim більше 2 років (c, c ++, python, md, latex, html, javascript ...).

Без кісток. На даний момент, я фактично можу просто чекати 18.04. Дякую за пораду.
Адам


1

Спробуйте в терміналі

code --user-data-dir

Працювали для мене.


1

Відкрийте свій термінал і запустіть такі команди:

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

    (Замініть your_usernameвласним іменем користувача.)

    Потім введіть свій пароль і натисніть Enter.

  2. code --verbose


0

Код VS може беззвучно не відкриватися, якщо у вас немає необхідних залежностей.

З цієї сторінки:

sudo apt-get install -f # Install dependencies

Сподіваюсь, одного речення достатньо, щоб пояснити, що означає "встановити залежності"
Андрій Кудрявцев

0
code --verbose

поодинці зробив для мене трюк, коли Code не вдалося запуститись (застряг) після краху системи X. Однак відкриті файли були не останніми, а деякими давніми.


0

У моєму випадку, коли я запустив code --verboseпомилку, було:

Помилка: ENOSPC: системний ліміт кількості охоплених спостерігачів файлів, дивіться '/ snap / code'

Тому я збільшив кількість спостерігачів файлів до свого максимуму, змінивши /etc/sysctl.confта додавши це в кінці файлу:

fs.inotify.max_user_watches=524288

Тоді мені довелося запустити цю команду для завантаження значення в систему:

sudo sysctl -p

Тепер я можу запускати VScode без проблем

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.