All Projects → JetBrains → Projector Installer

JetBrains / Projector Installer

Licence: apache-2.0
Install, configure and run JetBrains IDEs with Projector Server on Linux or in WSL

Programming Languages

python
139335 projects - #7 most used programming language

Labels

Projects that are alternatives of or similar to Projector Installer

Projector Docker
Run JetBrains IDEs remotely with Docker
Stars: ✭ 1,008 (+411.68%)
Mutual labels:  swing
Scala Swing
Scala wrappers for Java's Swing API for desktop GUIs
Stars: ✭ 105 (-46.7%)
Mutual labels:  swing
Snake
A simple snake game in java - Well documented
Stars: ✭ 158 (-19.8%)
Mutual labels:  swing
Business Search App Java
Showcases object oriented programming in Java, Java Swing, Kotlin, and Android
Stars: ✭ 53 (-73.1%)
Mutual labels:  swing
Beautyeye
BeautyEye is a Java Swing cross-platform look and feel.
Stars: ✭ 1,242 (+530.46%)
Mutual labels:  swing
Javaanpr
JavaANPR - Automatic Number Plate Recognition System for Java
Stars: ✭ 125 (-36.55%)
Mutual labels:  swing
Roboviz
Monitor and visualization tool for the RoboCup 3D Soccer Simulation League
Stars: ✭ 36 (-81.73%)
Mutual labels:  swing
Vue Swing
Vue.js wrapper for Swing
Stars: ✭ 193 (-2.03%)
Mutual labels:  swing
Alipayorderssupervisor Gui
GUI of AlipayOrdersSupervisor, implemented in Java and Swing
Stars: ✭ 85 (-56.85%)
Mutual labels:  swing
Awesome Swing
A list of frameworks, libraries and software for the Java Swing GUI toolkit.
Stars: ✭ 154 (-21.83%)
Mutual labels:  swing
Api Debugger
🔨A like Postman API debugger that supports custom encryption. 一个类似Postman的支持自定义加密传输的后台API接口调试工具.
Stars: ✭ 63 (-68.02%)
Mutual labels:  swing
Swingtutorials
Tutorials for Java's Swing UI toolkit explaining how to use particular components
Stars: ✭ 67 (-65.99%)
Mutual labels:  swing
Oxbow
Swing UI Enhacements
Stars: ✭ 135 (-31.47%)
Mutual labels:  swing
Sharebox
家庭看片神器,可以用手机播放电脑里的视频,也可以用电脑播放手机里的视频,使用简单,能稳定运行在后台,目前支持的设备有Windows,Mac,Android。
Stars: ✭ 51 (-74.11%)
Mutual labels:  swing
Substance
A modern and high-performant Swing look-and-feel library
Stars: ✭ 163 (-17.26%)
Mutual labels:  swing
Swing Generate
🙊 Swing development code generator
Stars: ✭ 36 (-81.73%)
Mutual labels:  swing
Calculator
Calculator app created with Java Swing, It is simple with an easy code to help novices learn how to operate a calculator.
Stars: ✭ 107 (-45.69%)
Mutual labels:  swing
Wepush
专注批量推送的小而美的工具,目前支持:模板消息-公众号、模板消息-小程序、微信客服消息、微信企业号/企业微信消息、阿里云短信、阿里大于模板短信 、腾讯云短信、云片网短信、E-Mail、HTTP请求、钉钉、华为云短信、百度云短信、又拍云短信、七牛云短信
Stars: ✭ 2,597 (+1218.27%)
Mutual labels:  swing
Jexer
Java Text User Interface
Stars: ✭ 174 (-11.68%)
Mutual labels:  swing
Mootool
A handy tool set for developers. 开发者常备小工具
Stars: ✭ 141 (-28.43%)
Mutual labels:  swing

projector-installer

JetBrains incubator project Python 3.6+ License PyLint/MyPy Runner

Install, configure and run JetBrains IDEs with Projector Server on Linux or in WSL.

Latest release | Sources | Changelog

Table of Contents

  1. Installation
  2. Quick start
  3. FAQ
    1. Secure connection
    2. projector-installer config directory
    3. Android Studio support
    4. projector command is unavailable
    5. WSL issues
    6. projector exits immediately
    7. Using Projector as systemd service
    8. Change existing configuration
    9. FreeBSD support
    10. OpenBSD support

Installation

Prerequisites

To use projector-installer you need machine with Linux (or WSL) and with Python 3.6 or higher. Before install projector-installer make sure that you have python3 and pip3 installed in your system. In Debian-based distributive you can install them using the command:

sudo apt install python3 python3-pip 

If you are running Ubuntu 18.04 or earlier update pip using the following command (for each user under which projector will be used):

python3 -m pip install -U pip 

Also make sure that you have installed the following packages:

  • libxext6
  • libxi6
  • libxrender1
  • libxtst6
  • libfreetype6

In Debian-based distributive you can install them using the command:

sudo apt install libxext6 libxrender1 libxtst6 libfreetype6 libxi6  

Install from PyPi

You can install projector-installer script from PyPi, using command:

pip3 install projector-installer --user 

After that the command projector should be available.

NOTE: If it is not so, please refer to the appropriate section in the FAQ.

NOTE: projector script checks for updates on start. If new version is available you can install an update using command pip3 install projector-installer --upgrade --user

Quick start

First time you run projector, it will automatically download, install, configure and start IDE. Just run projector and follow the instructions. The script will run the installed IDE with projector-server and display URLs to access it. Open an URL in your browser and use IDE as usual.

To run IDE again use projector run

To install a new IDE run projector install

To find out which JetBrains IDE are supported run projector find

To get help projector commands run projector --help

If you want to know more on projector usage please refer to this file.

FAQ

Secure connection

SECURITY WARNING: Keep your projector config directory safe when using domain certificate and private key! Do not share its content with anybody!

Installer is able to make run config use HTTPS for accessing a built-in HTTP server and WSS to communicate with the Projector server. Using a secure connection may be a good idea because some JavaScript features are not available in insecure environments, for example: Asynchronous Clipboard API. So using Projector with insecure protocols may limit its functionality.

To enable this feature user should modify existing run config with install-certificate command.

There are several options:

  1. Use certificate for the domain signed by known certification center. For this case use command:
projector install-certificate config_name --certificate /path/to/cert.pem --key /path/to/privatekey.pem

In rare cases this command may fail, if installer is not able to obtain full certificate chain. In this case user should provide intermediate certificate chain explicitly, using command

projector install-certificate config_name --certificate /path/to/cert.pem --key /path/to/privatekey.pem --chain /path/to/chain.pem

Note: Do not forget to use domain name or IP address, included to certificate to access Projector.

  1. Use self-signed certificate. For this scenario use command:
projector install-certificate config_name --certificate /path/to/cert.pem --key /path/to/privatekey.pem

Do not forget to add the certificate to your browser if it was not done before.

  1. Instruct the installer to autogenerate certificate for you. For this scenario, just don't include certificate and key files to install-certificate command:
projector install-certificate config_name

Using a secure connection with autogenerated certificate requires telling the browser that it should trust the certificate. One of the ways to do it is to do it forcefully. Open the page, see the warning about unknown certificate, find a button like "trust it anyway", and click it. After it, you will probably get a message like "can't connect to wss://host:port". Please change wss to https, open it in a new tab, and click the "trust" button too. After performing these two actions, the browser should remember this connection and you won't have to perform these actions again. Just open the initial web page and use all functionality of Projector.

projector-installer config directory

projector-installer keeps downloaded IDE and run configurations in the configuration directory. Usually configuration directory is ~/.projector. User can specify another location for it, using option --config-directory, for example: projector --config-directory=config run

Android Studio support

Projector installer can't support automatic Android Studio installation due to legal issues. However, installer can help you to configure already installed Android Studio to use with Projector. To make new run config for Android Studio use projector config add command.

NOTE: Please take into account, that Projector uses JVM, bundled with IDE and supports Java 11 only. Most of Android Studio IDE shipped with Java 1.8, so they are incompatible with Projector. However, starting from version 4.2 (still in EAP), Google ships Java 11 with Android Studio. So Android Studio ver. 4.2 and later can be run with projector.

Example:

$projector config add
Enter a new configuration name: AndroidStudio
Do you want to choose a Projector-installed IDE? [y/n]: n
Enter the path to IDE: /path/to/your/android-studio
...

projector command is unavailable

Default instruction installs projector script in directory ~/.local/bin. If system can't find the script after installation it means that the directory ~/.local/bin was not included in the PATH environment variable. Try the following:

  • Restart the terminal. If projector was the first executable installed in ~/.local/bin, and the directory wasn't exist when your login session started, it may help.

  • In some Linux distributions the directory ~/.local/bin not included in the PATH environment variable. In this case add export PATH=${PATH}:~/.local/bin to your ~/.profile
    and run source ~/.profile.

WSL issues

WSL is new technology and sometimes there are problems with network interfaces forwarding from Linux to Windows system. For example: https://github.com/microsoft/WSL/issues/4636 .

If you have issues with accessing Projector running in WSL from browser, try do the following:

  • Do not use several WSL machines in the same time. Connectivity issues happens rarely if only one WSL machine is running. You can check state of existing WSL machies using wsl -l -v command.

  • Try command Get-Service LxssManager | Restart-Service in PowerShell console

  • Restart your WSL environment: wsl --shutdown and start your linux console again.

WARNING! The wsl --shutdown command will close all Linux consoles. Save your work before stopping WSL!

  • Using docker service with WSL2 backend can cause connectivity issues. Try to disable it and restart WSL terminal.

  • Use address other than localhost. Usually WSL have problems forwarding localhost interface only. Try to use listening address other than localhost. You can assign HTTP listening address during initial installation or using projector config edit command.

projector exits immediately

  • Make sure that you installed all packages mentioned in Prerequisites section.
  • Check log-file (it's location shown in console when installer runs the config).
  • Make sure that there is no another instance of same config running.

Using Projector as systemd service

Straightforward creating systemd service to automatically start Projector in the background, lead to projector zombie process. You can avoid this using projector generated run script instead of using projector run command. For details refer to the answer of this issue.

Change existing configuration

To change run config (for example - change listening port or access password) use command

projector config edit

FreeBSD support

projector-installer since ver. 1.1.0 has FreeBSD support. To run Projector on FreeBSD perform the following steps (tested on FreeBSD-RELEASE 12.2):

  • install python 3.7 with necessary packages:
sudo pkg install python37
sudo pkg install py37-pip
sudo pkg install py37-cryptography 
  • install openjdk11:
sudo pkg install openjdk11

Do not forget add to fstab fdeskfs and procfs:

fdesk /dev/fd fdeskfs rw  0 0
proc  /proc   procfs  rw  0 0

and mount them:

mount -a
  • install projector-installer:
pip install projector-installer --user

WARNING:

  1. Do not forget --user option!
  2. pip will fire several warning messages on incompatible cryptography module. You can safely ignore them.
  • add ~/.local/bin directory to PATH variable.

  • run projector as usual

OpenBSD support

projector-installer since ver. 1.1.0 has OpenBSD support. To run Projector on OpenBSD perform the following steps (tested on OpenBSD 6.8):

doas pkg_add python
  • install pip:
doas pkg_add py3-pip    
  • install py3-cryptography:
doas pkg_add py3-cryptography
  • install openjdk11
doas pkg_add jdk
  • install projector-installer:
pip install projector-installer --user
  • add ~/.local/bin directory to PATH variable.

  • run projector as usual

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].