У меня есть веб-приложение, которое я бы хотел начать со сценария, а не открывать 3 вкладки и запускать процессы, затем менять строку на файл конфигурации, а затем запустите веб-сервер.
Во-первых, чтобы я мог протестировать веб-перехватчики, мне нужно запустить ngrok http https: // localhost: 3000
, который дает примерно такой же результат -
ngrok by @inconshreveable (Ctrl+C to quit)
Session Status online
Account myemail@gmail.com (Plan: Free)
Version 2.3.35
Region United States (us)
Web Interface http://127.0.0.1:4040
Forwarding http://2f22e8990cbe.ngrok.io -> https://localhost:3000
Forwarding https://2f22e8990cbe.ngrok.io -> https://localhost:3000
Connections ttl opn rt1 rt5 p50 p90
13973 1 0.00 0.07 0.00 0.00
Затем я изменяю файл конфигурации для размещения нового хоста (случайный для бесплатного использования ngrok
)
# development.rb
config.hosts << '2f22e8990cbe.ngrok.io' # (tunnel address from above)
Затем я сохраняю файл и запускаю веб-сервер.
$ rails server puma --bind 'ssl://127.0.0.1:3000?key=/home/oaty/.ssh/localhost.key&cert=/home/oaty/.ssh/localhost.crt'
Я хотел бы записать это в одну команду. Я могу использовать более крупную переменную среды оболочки для хоста ngrok, хотя для начала мне нужно как-то получить ее из того же скрипта. Надеюсь, я не прошу слишком многого. Мне очень нравятся форумы Ubuntu. Думаю, я слишком аутист для большинства других мест. Да здравствует Ubuntu! менеджер по программированию и повседневному использованию. Я вообще-то не компьютер эксперт, но я начинаю изучать основы программирования ...
Я использую Ubuntu 20.04, и я подумывал попробовать окно менеджер по программированию и повседневному использованию. Я вообще-то не компьютер эксперт, но я начинаю изучать основы программирования языков (особенно Python) и некоторого программного обеспечения для анализа данных (например, R для статистики), поэтому мне нравится идея иметь мое рабочее пространство и окна оптимально организованы. Я думал лучший выбор для меня будет Qtile: будучи программированным на Python, я могу улучшить мои навыки программирования, в то же время настраивая WM. Однако, похоже, Qtile все еще отсутствует в репозитории фокуса, поэтому мне пришлось следовать рекомендациям веб-сайта (qtile.org), чтобы установить его с исходный код. Но в конце этого процесса я все еще не могу увидеть параметр Qtile в окне входа в систему, и когда я пытаюсь запустить файл setup.py, находящийся в моей домашней папке, я получаю множество таких ошибок:
mattia@HAL9000:~/qtile$ sudo python setup.py
Failed to find pulseaudio headers. PulseVolume widget will be unavailable
/usr/lib/python2.7/dist-packages/cffi/cparser.py:153: UserWarning: String literal found in cdef() or type source. String literals are ignored here, but you should remove them anyway because some character sequences confuse pre-parsing.
warnings.warn("String literal found in cdef() or type source. "
/usr/lib/python2.7/dist-packages/cffi/cparser.py:164: UserWarning: Global variable 'CAIRO_TAG_DEST' in cdef(): for consistency with C it should have a storage class specifier (usually 'extern')
"(usually 'extern')" % (decl.name,))
/usr/lib/python2.7/dist-packages/cffi/cparser.py:164: UserWarning: Global variable 'CAIRO_TAG_LINK' in cdef(): for consistency with C it should have a storage class specifier (usually 'extern')
"(usually 'extern')" % (decl.name,))
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: setup.py --help [cmd1 cmd2 ...]
or: setup.py --help-commands
or: setup.py cmd --help
error: no commands supplied
Я не понимаю ни слова и даже не уверен, или нет, я должен был запустить этот файл, но я думал, что мои проблемы могут быть связаны с тот факт, что моя версия Python по умолчанию по-прежнему 2.7. В Конечный результат - я не могу использовать Qtile. Как вы думаете, что могло быть причиной этого? И если это действительно связано в python2.7, как я могу обновить свою версию python без сбой половины моих приложений? (Я говорю это из прошлого опыта, но я не знаю, поменялось ли сейчас что-то и предполагаются ли приложения чтобы быть в порядке с другой версией Python). Я почти уверен, что мне не хватает чего-то очень простого ...
Обычно для вызова setup.py
требуется аргумент install
- sudo python setup.py install
. Также вы можете прочитать официальную документацию Qtile .
Также вы можете загрузить Qtile 0.10.7 вручную из репозиториев 18.04 LTS, установить с помощью:
cd ~/Downloads
wget http://archive.ubuntu.com/ubuntu/pool/universe/q/qtile/python3-qtile_0.10.7-2ubuntu2_amd64.deb
wget http://archive.ubuntu.com/ubuntu/pool/universe/q/qtile/qtile_0.10.7-2ubuntu2_all.deb
sudo apt-get install ./qtile_0.10.7-2ubuntu2_all.deb ./python3-qtile_0.10.7-2ubuntu2_amd64.deb
и использовать в соответствии с планом.
Я сам пытался запустить qtile в Linux Mint. Вот как мне удалось заставить его работать:
Я установил python и pip из текущих репозиториев (по умолчанию установлен python3, и вам также понадобится пакет python3-pip, который зависит от python3-setuptools и python3-wheel)
sudo apt install python3-setuptools python3-wheel python3-pip
Затем я следовал документации qtile, чтобы установить зависимости qtile, используя python3
вместо python
и pip3
вместо pip
. Я также запускал команды от имени пользователя root:
sudo pip3 install xcffib
sudo pip3 install --no-cache-dir cairocffi
sudo apt install libpangocairo-1.0-0 python-dbus python-gobject
Затем я установил qtile из pip, чтобы упростить обновление qtile:
pip3 install qtile
Затем с помощью этого поста ofefo на странице qtile в github (все еще немного нуб), я создал файл qtile.desktop
в /usr/share/xsessions/
и добавил в этот файл следующие строки:
[Desktop Entry]
Name=Qtile
Comment=Qtile Session
Exec=python3 /usr/local/bin/qtile
Type=Application
Keywords=wm;tiling
Примечание. Ваш путь установки qtile может отличаться от /usr/local/bin/qtile
. Чтобы найти путь установки, запустите what python3
Теперь все, что вам нужно сделать, это выйти из системы и выбрать qtile в окне выбора сеанса!
Надеюсь, это поможет :D
P.S. Я пока не могу комментировать, поэтому в ответ на проблему с журналом мой журнал ошибок qtile находился в ~/.xsession-errors.old