Не удалось завершить работу, перезапустить или выйти из системы

Вы можете получить FTP-сервер так же просто, как один два три с помощью pyftpdlib: Установить с помощью pip pip install --user pyftpdlib Запустить с python -m pyftpdlib, добавить -w, если вы хотите также получить доступ на запись. нет третьего шага :)

Теперь у вас есть ftp-сервер, с которого вы можете войти в анонимный доступ к своему домашнему каталогу.

Эта команда:

python -m pyftpdlib --directory=FTP --port=2121 --write

будет обслуживать, без привилегий root, на порту 2121 и предоставить доступ для анонимных пользователей. Он также будет использовать каталог FTP в текущем рабочем каталоге вместо вашего дома. Введите python ftpserver.py --help, чтобы получить информацию обо всех параметрах.

войдите в него в anonymous@localhost:2121/

Обратите внимание, что это программное обеспечение выпущено под условиями pyftpdlib , которое означает, что вы можете делать в основном то, что вам нравится. Прочитайте текст лицензии, это всего лишь несколько строк и узнайте свои права.

Теперь этот скрипт не поддерживает имя пользователя и пароль как часть его автономной функции ( по соображениям безопасности, я думаю).

Итак, я добавил эту функцию:

войдите в нее в anonymous@localhost:2121/

У вас теперь есть все параметры, которые я упомянул, параметры командной строки

--username=USERNAME и --password=PASSWORD:

python ftpserver.py --port=2121 --username=ftpuser --password=3r2u389r2u333j

Опять же, используйте --help, чтобы увидеть их

Это должно быть так же просто, как и получается.

Я также написал немного gui для этого:

alt text

Загрузите его здесь (обновлено в версии 6). Мне жаль, что длина его составляет 3999 строк, но он сделает все, что делает оригинал. И я хотел сохранить все в одном файле. Когда он запускается без каких-либо параметров (то есть сделайте его исполняемым и дважды щелкните по нему или создайте для него пусковую установку), он запустит немного gui для настройки вашего сервера. Вы все равно можете импортировать его как модуль python или использовать приведенную выше командную строку fu. Известные проблемы: я не беспокоился ни о чем другом, кроме порта 2121. Это должно быть простым, поэтому для конфигурирования порта требуется сложная обработка ошибок, с которой я не хочу, чтобы пользователь беспокоился. 2121 должен всегда работать нормально. Он не будет предупреждать вас, как и в командной строке, об использовании небезопасной конфигурации. То есть не устанавливая пароль или что-то в этом роде.

EDIT: поскольку API pyftpdlib и ftpserver.py изменен (и ссылки на wabuntu pastebin исчезли); большинство из вышеперечисленных сообщений больше не работают. Для версии pyftpdlib (2014) используйте этот скрипт (ftpserver-cli.py) для достижения того же, что и выше:

#!/usr/bin/env python
# ftpserver-cli.py
import sys
sys.path.append("/path/to/pyftpdlib-svn") # enter your proper path here
import argparse

from pyftpdlib.authorizers import DummyAuthorizer
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer

def processCmdLineOptions():
  global optparser
  optparser = argparse.ArgumentParser(description="ftpserver-cli",
              formatter_class=argparse.RawDescriptionHelpFormatter)
  optparser.add_argument('-u', '--username', action='store', type=str,
      default="user", help="username")
  optparser.add_argument('-p', '--password', action='store', type=str,
      default="12345", help="password")
  optparser.add_argument('-t', '--port', action='store', type=int,
      default="21", help="port")
  optparser.add_argument('-d', '--directory', action='store', type=str,
      default="/home/stefano/Projekte/", help="port")
  optargs = optparser.parse_args(sys.argv[1:]) #(sys.argv)
  return optargs


optargs = processCmdLineOptions()

print("Using: user: %s pass: %s port: %d dir: %s" % (optargs.username, optargs.password, optargs.port, optargs.directory))

authorizer = DummyAuthorizer()
authorizer.add_user(optargs.username, optargs.password, optargs.directory, perm="elradfmw")
#authorizer.add_anonymous("/home/nobody")

handler = FTPHandler
handler.authorizer = authorizer

server = FTPServer(("127.0.0.1", optargs.port), handler)
server.serve_forever()

вызов с:

$ sudo python ftpserver-cli.py --directory=/tmp/srvtest
Using: user: user pass: 12345 port: 21 dir: /tmp/srvtest
[I 14-03-02 21:40:57] >>> starting FTP server on 127.0.0.1:21, pid=19286 <<<
...

1
задан 28 April 2013 в 05:30

3 ответа

Нашел это. Это может помочь!

Первоначально На форуме Ubuntu. Проблема не повторилась со мной после отключения визуальных эффектов (Compiz Fusion). У меня нет никаких шагов к надежности, чтобы воспроизвести проблему; поэтому, я не уверен, что он решен или нет.

Попробуйте отключить визуальные эффекты:

щелкните правой кнопкой мыши на рабочем столе и выберите «сменить фон рабочего стола». Перейдите на вкладку «Визуальные эффекты». Измените его на none.

Это значение для каждого пользователя и (насколько мне известно) должно быть изменено для каждого пользователя с помощью машины.

0
ответ дан 24 May 2018 в 22:59
  • 1
    Я избавился от compiz, поскольку он постоянно давал мне проблемы. На данный момент я использую openbox и бритву-qt. Unity начала давать мне всевозможные проблемы с обновлением до 13.04 и медленнее, чем мне хотелось бы. – schonjones 6 May 2013 в 09:20

Вы сделали чистую установку 13.04 или просто обновили более 12.04? Рекомендуется делать чистую установку, так как многие вещи меняются между версиями. На самом деле 13.04 поставляется с множеством изменений, вы должны попытаться установить make clean install (в случае, если вы этого не сделали).

Я вижу, что вы используете команду «shutdown» без везения ... Вы пытались с «sudo halt», все равно вам нужно использовать терминал, но AFAIK «halt» должен делать трюк.

0
ответ дан 24 May 2018 в 22:59
  • 1
    Он модернизируется в порядке 11.10 - 12.04 -12.10 -13.04. мне было бы очень сложно создать резервную копию всего, что у меня есть, и перезагрузить его. У меня 80gb цифровых негативов и нигде больше не хранить их в данный момент. У меня есть второй раздел, но это небольшой раздел только 10gb для установки Windows. Я использую только для itunes очень редко. – schonjones 7 May 2013 в 07:11
  • 2
    также, остановка делает именно это. останавливает все и просто сидит там. – schonjones 7 May 2013 в 07:53

Попробуйте использовать приведенную ниже ссылку. Я просмотрел его онлайн, и у автора есть интересная статья об устранении неполадок при завершении работы в верхней части веб-страницы. Он упоминает о просмотре ваших файлов журналов для сообщений об ошибках, связанных с вашими проблемами выключения и перезапуска, и другими вещами, о которых я бы не подумал при попытке устранить проблему вроде этого.

http: // www .brighthub.com / вычислительное / Linux / статьи / 39504.aspx

0
ответ дан 24 May 2018 в 22:59
  • 1
    Вы всегда должны избегать принудительного отключения компьютера, удерживая кнопку питания, поскольку существует высокий риск потери данных, взлома системы или повреждения вашего оборудования. Если ваш компьютер имеет такую ​​проблему, он должен быть исправлен. – Tanel Mae 5 May 2013 в 13:32
  • 2
    Tuxest. Не существует «высокого» риска потери данных или даже повреждения оборудования. Принудительный цикл питания приведет к потере данных памяти, но обычно это не сбой операционной системы. Иногда парочка инодов нуждается в очистке. Также очень маловероятно (но не невозможно) вызвать аппаратный сбой. Проблема должна быть исправлена, но не пугайте пользователей. – Martin Owens -doctormo- 6 May 2013 в 23:42
  • 3
    Мартин - Да, говоря «высокий риск». возможно, была завышена, но дело не в уровне риска при выполнении такой вещи один раз. Скорее, мой комментарий касался рисков, связанных с принятием такого подхода к проблемам, как регулярная (ежедневная?) Практика - тем самым вероятность появления маловероятных событий возрастает. В любом случае первоначальный ответ был обновлен, поэтому удалялось голосование. – Tanel Mae 28 April 2014 в 10:49

Другие вопросы по тегам:

Похожие вопросы: