Попробуйте JavaScript в [1 116] оператор .
if ('key' in myObj)
И инверсия.
if (!('key' in myObj))
Быть осторожным! in
оператор соответствует всем объектным ключам, включая тех в цепочке прототипа объекта.
Использование myObj.hasOwnProperty('key')
для проверки собственных ключей объекта и только возвратится true
, если key
будет доступно на myObj
непосредственно:
myObj.hasOwnProperty('key')
, Если у Вас нет определенной причины использовать in
, оператор, с помощью myObj.hasOwnProperty('key')
приводит к результату, который ищет большая часть кода.
Я также имел эту проблему, но закончил тем, что фиксировал ее.
не необходимо удалить Ваш ~/.profile
, но тот файл - то, что вызывает проблему. Просто удостоверьтесь, что это не печатает ничто к STDOUT (и возможно STDERR также).
, Как только я удалил печать из моего ~/.profile
файл, я смог войти в систему с GDM.
У меня была та же проблема. Когда я вошел в свою учетную запись через tty (путем нажатия ctrl + высокий звук + F1 , было сообщено, что была ошибка в ~/.profile
файл (я бездельничал там). После фиксации ошибки я смог войти в систему.
Ищут любые сообщения об ошибках и пытаются зафиксировать их.
Перейдите к терминалу путем удара Ctrl + Высокий звук + F1 . и выполненный следующая команда.
sudo chown -R $USER:$USER /home/$USER
я предполагаю полномочия к Вашему/, домашняя папка была изменена так или иначе.
Когда я встретился с циклом входа в систему два дня назад, я думал, что должен совместно использовать. Так или иначе это для людей, плохо знакомых с Linux.
Поиск решения в других потоках, которые Вы найдете, существует одно доминирующее решение: права доступа для обоих из файлов, .Xauthority
и .IDEauthority
.
, Как найти, "владеете" ли Вы теми файлами?
Вход в систему как Гость, которого Вы, вероятно, сделали так или иначе для использования Интернета.
Открывают терминал входа в систему с Ctrl + Высокий звук + F2 , или альтернативно, + F3 , + F4 , и так далее до F6 .
Ctrl + Высокий звук + F7 возвращает Вас Вашему Рабочему столу, таким образом, можно переключиться назад и вперед.
(я буду использовать версию 14.04 Ubuntu на ASUS-S400CA как пример.) Вы будете видеть что-то как:
Ubuntu 14.04.2 ASUS-S400CA tty2
ASUS-S400CA login:
Указывают Ваше имя пользователя. (Ваше имя пользователя является псевдонимом, который Вы выбрали в установке, не Вашем полном имени, которое можно видеть на фактическом экране входа в систему.), затем введите в своем пароле.
Ubuntu 14.04.2 ASUS-S400CA tty2
ASUS-S400CA login: yourusername
Password:
необходимо теперь видеть:
yourusername@ASUS-S400CA:~$
, Если Ваш цикл входа в систему вызывается путем пропавших без вести прав доступа для файлов, упомянутых ранее, мы можем проверить его как это:
ls -ld ~/.*authority
, Если Вы тогда добираетесь
-rw------- 1 root root 2015 May 24 12:38 .ICEauthority
-rw------- 1 root root 2015 May 24 12:38 .Xauthority
вместо [1 149]
-rw------- 1 yourusername yourusername 2015 May 24 12:38 .ICEauthority
-rw------- 1 yourusername yourusername 2015 May 24 12:38 .Xauthority
, необходимо использовать эти chown
команда для возвращения прав доступа:
sudo chown yourusername:yourusername ~/.Xauthority
и при необходимости то же для [1 119]. Обратите внимание, что необходимо будет проверить результат снова с командой ls. Никакое сообщение об ошибке не является хорошим знаком, все же.
Ваша оболочка не распознает ни одной из команд, которые Вы вводите?
Это могло быть основной причиной для цикла входа в систему, поскольку login
самого просто команда.
, Как использовать команды при этих обстоятельствах?
оболочка дает Вам два сведения: Во-первых, команда не доступна. Во-вторых, найдено в, например,
/usr/bin
В этом случае вышеупомянутые взгляды кода - в зависимости от того, где "исполняемый файл" команды расположен в Вашей системе - что-то вроде этого:
/usr/bin/ls -ld ~/.*authority
/usr/bin/sudo /bin/chown yourusername:yourusername ~/.Xauthority
/usr/bin/sudo /bin/chown yourusername:yourusername ~/.IDEauthority
причина, почему Ваша командная строка (оболочка, Терминал, командная строка) распознает и выполняет команды - включая команду входа в систему - потому что пути к их каталогам - как/usr/bin, / мусорное ведро,/sbin и так далее - все сохраняются в файле. Там им дают как значение к переменной под названием ПУТЬ. (Для легкого для понимания объяснений на условиях Linux проверяют linfo.org. В этом случае linfo.org/path_env_var.html )
Для проверки, какие пути сохраняются в ПУТИ, типе
echo $PATH
или его эквивалентной команде со структурой каталогов.
Это, вероятно, даст Вам что-то как [1 160]
/usr/local
Однако, это должно быть похожим:
/usr/bin:/usr/sbin:/bin:/sbin:/usr/local/:/usr/local/bin:/usr/local/sbin
различные каталоги между двоеточиями могут быть расположены в любом порядке.
, Чтобы сохранить тех временно и быть в состоянии использовать команды, тип
export PATH=$PATH:/usr/bin:/usr/sbin:/bin:/sbin:/usr/local/:/usr/local/bin:/usr/local/sbin
Для внесения тех изменений постоянными необходимо сохранить его в соответствующем файле, где переменная ПУТИ определяется.
В зависимости от Вашего типа оболочки входа в систему, это могло быть различным файлом, поскольку различные оболочки входа в систему читают определенные файлы сначала. Для обнаружения, что окружает Вас, используют, тип echo $SHELL
в Вашей командной строке. Возможности - Вы, возвратится /bin/bash
так или иначе. (Кроме того, подсказки, данные Вам Терминалом на том, где найти команды, вероятно, запущенными с [1 123].) (Для получения дополнительной информации выезд , Кто такой лучший агностик дистрибутива/оболочки способ установить переменные среды? и Различие между оболочкой входа в систему и shell/46856#46856 невхода в систему)
, Если Ваша оболочка является ударом, самая легкая опция состоит в том, чтобы отредактировать Ваш .profile
файл в Вашем корневом каталоге ~
, который эквивалентен [1 126]. При временном сохранении каталогов к командам, можно открыть тот файл путем ввода
gedit ~/.profile
, Это открывает файл с соответствующим текстовым редактором gedit. (На всякий случай Вы не имеете gedit по некоторым причинам, используете aptitude
или apt-get
команда в сочетании с sudo и устанавливаете gedit или любой текстовый редактор, который Вы предпочитаете: sudo apt-get install gedit
.)
В конце того файла Вы, вероятно, находите что-то как:
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
PATH=usr/local
Однако ПУТЬ должен быть определен столь же описанный выше. Просто, добавьте другие каталоги:
PATH=/usr/local:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin
сохранили файл, перезагружают Вашу систему, и необходимо (надо надеяться), быть хорошими для движения.
$SHELL
только дает user' s оболочка по умолчанию, не та они работают
– Scott Chamberlain
04.04.2017, 08:04
У меня была та же самая проблема при обновлении от 14,04 до 16,04. Это - то, что работало на меня:
Ctrl + Высокий звук + F1
обеспечивает данные для входа в систему, затем работает
sudo service lightdm stop
sudo service lightdm start
sudo startx
Начальная загрузка с помощью терминала тогда вводит:
sudo nano /etc/lightdm/lightdm.conf
удаляют что-либо, если Вы записали там ранее.
Нажатие Ctrl + O тогда входят для сохранения и Ctrl + X для выхода.
можно считать больше в этом сообщении it'sFOSS о том, как отключить гостевую учетную запись.
После неудачной попытки других решений я пытался исследовать мой ~/.profile
. Я не мог найти ошибку в нем, таким образом, я удалил ~/.profile
и перезагрузил систему. Это хорошо работало.
хорошо найти ошибки и зафиксировать их в ~/.profile
, но если Вы не можете, попытаться удалить файл.
/etc/skel
– Scott Chamberlain
04.04.2017, 07:45