Are there any showstopping blockers to working on linux? It looks like a pretty handy tool and I'd love to try it out.
:+1:
Kitematic is written in node-webkit so there aren't really any big blockers. A few of the binaries included like unison would need to be swapped out for a linux version. Some of the file paths would need to be updated as well. I'll follow up with more details once some of the pressing bugs (installer!) are patched.
Best part about Linux is no requirement on VirtualBox :)
i just tried something here as a starting point https://github.com/deepak1556/kitematic/tree/linux
It looks like the dev environment is a running meteor server. Do you feel it would be a good idea to set up a Dockerfile which installs the dependencies via the package manager, and runs the dev environment? That seems like a first step and would allow both linux and OSX users to dev/work in the same environment.
Try looking at shipyard deploy as an example of what I'm thinking.
:thumbsup: +1
:+1:
:+1:
+1
+1
+1
:+1:
:+1:
+1
+1
upward pointed hand-extension
EDIT: :+1:
+1
+1
Yeah, linux support would be awesome.
:+1:
+1
+1
+1
+1
+1
What about remote linux support to via ssh? :o
—
Sent from Mailbox
On Fri, Mar 13, 2015 at 4:57 AM, Dmitriev Sergey [email protected]
wrote:
+1
from twit https://twitter.com/kitematic/status/576037217702965248
Reply to this email directly or view it on GitHub:
https://github.com/kitematic/kitematic/issues/49#issuecomment-78801573
:+1:
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
:+1:
Unrelated: I think Github issues need a like-like button
+1
+1
Liking the like-like
On Wed, Mar 25, 2015, 2:54 PM Andrew Stilliard [email protected]
wrote:
+1
—
Reply to this email directly or view it on GitHub
https://github.com/kitematic/kitematic/issues/49#issuecomment-86170895.
+1
+1
+1? :+1:, +1!
+1 Also I'd like to manage my docker on digital ocean via ssh.
:+1:
+1
Wow! Awesome demand for Linux :smiley:
Questions for everyone regarding Linux support:
.deb and .rpm packages be best (similar to Atom)?Just a .deb for me it's good but i think it's better to have both =)
I prefer to run the docker daemon on the Linux host itself.
I agree with top comments, you need deb, rpm and binary, so other distros can use your package too. Also virtualization doesn't seem right, docker is native on linux, but in case of a migration, moving a virtualbox image would be very handy.
Also any hope for remote docker management with kitematic?
+1 for native packaging
+1 for the Docker daemon on the Linux host
+1
I'm on Archlinux so .deb or .rpm is useless for me :p
But maybe you can provide a container with the project so we would have only to use it:
docker run -p 80:80 kitmatic/kitmatic or I think we can configure our local X server so we can exectute the binary and get it rendred on the X server :)
You could use docker to run kitematic, sort of like how shipyard provides public images you can pull and hit the ground running with a quickstart deploy.
As for Gentoo and other portage-based distros, just sources and a list of dependencies will be enough :)
+1 for both .deb and .rpm
+1 root native host
On Mon, Apr 6, 2015, 3:49 PM Nexie Kind [email protected] wrote:
As for Gentoo and other portage-based distros, just sources and a list of
dependencies will be enough :)—
Reply to this email directly or view it on GitHub
https://github.com/kitematic/kitematic/issues/49#issuecomment-90218871.
+1 on .deb , sources and native host
+1 very nice app. Tnks
+1 definitely great to have it
+1 native host
+1 .deb and sources
+1
+1
:+1:
:+1:
:+1:
:+1:
+1 navite host
+1 docker container I can pull and run. similar to shipyard.
+1
:+1:
Pretty please with sugar on top, :+1:
+1
+1
+1
:+1:
+1
+1
+1
An official APT repository would be really awesome.
+1
+1
+1 to .deb, .rpm and binaries.
+1 to native host.
+1
Do you know more or less when a Linux release would be available ?
+1
+1 Is a linux release being considered?
+1
+1
Just to share what I know:
Cheers
Some progresses :)


The hello-world-nginx image is working just fine :)

Give it a try !
cd somewhere/on/my/linuxbox
git clone https://github.com/zedtux/kitematic
cd kitematic/
git checkout linux-support
make
sudo npm start
(sudo is required in order to access the local docker daemon).
The repo: https://github.com/zedtux/kitematic/tree/linux-support
@zedtux I get some errors (on ubuntu 12.04, commit f1360507 from your branch, Docker version 1.0.1, build 990021a):
[8137:0620/131349:ERROR:browser_main_loop.cc(173)] Running without the SUID sandbox! See https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment for more information on developing with the sandbox on.
(electron:8137): IBUS-WARNING **: The owner of /home/jens/.config/ibus/bus is not root!
[8137:0620/131351:WARNING:accelerator_util.cc(185)] Invalid accelerator token: command
[8137:0620/131546:ERROR:desktop_window_tree_host_x11.cc(810)] Not implemented reached in virtual void views::DesktopWindowTreeHostX11::InitModalType(ui::ModalType)
[8352:0620/131548:INFO:renderer_main.cc(200)] Renderer process started
[8352:0620/131548:WARNING:channel.cc(549)] Failed to send message to ack remove remote endpoint (local ID 1, remote ID 1)
[8352:0620/131548:WARNING:channel.cc(549)] Failed to send message to ack remove remote endpoint (local ID 2147483648, remote ID 2)
[8137:0620/131710:ERROR:desktop_window_tree_host_x11.cc(810)] Not implemented reached in virtual void views::DesktopWindowTreeHostX11::InitModalType(ui::ModalType)
[8484:0620/131714:INFO:renderer_main.cc(200)] Renderer process started
[8137:0620/131906:ERROR:desktop_window_tree_host_x11.cc(810)] Not implemented reached in virtual void views::DesktopWindowTreeHostX11::InitModalType(ui::ModalType)
[0620/131912:ERROR:nss_util.cc(94)] Failed to create /home/jens/.pki/nssdb directory.
And after a while the app wasn't responding anymore (it wouldn't do anything anymore when I clicked on stuff)
@caske33 Your error is the following:
[8137:0620/131546:ERROR:desktop_window_tree_host_x11.cc(810)] Not implemented reached in virtual void views::DesktopWindowTreeHostX11::InitModalType(ui::ModalType)
Searching on google I find posts about Chromium. Like http://askubuntu.com/questions/528064/chromium-login-bug for example. Are you using it ?
I use google chrome as my main browser.
I'm on Debian and I use Iceweasel (Firefox) so maybe it could be the reason why it's working for me and not for you.
Please try the link I gave you and let's hope !
@zedtux: I get stuck again. And I got again the last error:
[0620/131912:ERROR:nss_util.cc(94)] Failed to create /home/jens/.pki/nssdb directory.
I don't know why you have this ... I don't have this .pki folder in my home ... :(
It seems to be related to Chrome again: http://ubuntuforums.org/showthread.php?t=2216009.
@zedtux I've given chmod go+rw .config/google-chrome seems to fix it. probably because the root user needs access to the chrome settings (because of sudo npm start instead of npm start)
But you can actually run npm start (without the google chrome permission thing) if you make sure your user can run docker. (For ubuntu: http://docs.docker.com/installation/ubuntulinux/#create-a-docker-group, not sure if this also works on other systems)
(by the way, thanks for your work :+1: )
Thank you @caske33 :)
You can pull my repo, I have (partially) implemented the 'Exec' and 'Docker cli' buttons.
Not sure what exec is supposed to do. It opens a terminal and soon after closes it again.
Docker cli just opens a terminal in the location where I was when I ran npm start
Both buttons are doing the same thing which is to open a terminal in the container. Which terminal emulator are you using ?
Bash. And it seems to be running in my host computer, not in the docker machine.
Sorry, not the terminal but the terminal emulator. For instance, on GNOME, it's gnome-terminal
Oh, sorry. I don't know a lot about that kind of stuff. it's gnome-terminal indeed (I'm on unity, if that helps)
Alright so it's should work. You should have a new terminal opening (after having clicked one of the buttons) with a # which means you're in the container. You can also use hostname and you should see something like 8b0f6fa60721.
I'm on commit 59ec6d0b0146 and I get the behaviour I described earlier. The exec doesn't always show a terminal either (maybe it closes before it can show it).
(I'm testing this on a running nginx-hello-world image from kitematic. not sure if that's relevant)
Previously you told me that you're using docker version 1.0.1 ? It seems that the exec docker command has been implemented in docker version 1.2.0.
Can you upgrade docker ?
I upgraded docker and exec works now. The docker cli button still gives the same behaviour though (opens terminal in host computer, not inside the container)
You're right, I have the same behavior. At least, we're inline now :)
True. Thank you for the great work by the way :100:
Thank you :)
I've tried the 'Docker cli' button on Mac, and it's doing the same ... Open a console on the host machine ... so it's seems to be correct :)
Ok. Super! :tada:
Last update (As of now all seems working now but feel free to notify me if something is remaining):
@zedtux Thanks a lot for your work! Runs smooth on my Ubuntu 15.04 Box.
Stellar!
@zedtux Thanks for this!
I ran into some errors on Ubuntu.

npm ERR! [email protected] postinstall:node install.js`
npm ERR! Exit status 8
npm ERR!
npm ERR! Failed at the [email protected] postinstall script.
npm ERR! This is most likely a problem with the electron-prebuilt package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node install.js
npm ERR! You can get their info via:
npm ERR! npm owner ls electron-prebuilt
npm ERR! There is likely additional logging output above.
npm ERR! System Linux 3.16.0-40-generic
npm ERR! command "/home/mc/.nvm/v0.10.38/bin/node" "/home/mc/.nvm/v0.10.38/bin/npm" "install"
npm ERR! cwd /home/mc/workspace/kitematic
npm ERR! node -v v0.10.38
npm ERR! npm -v 1.4.28
npm ERR! code ELIFECYCLE
npm ERR! not ok code 0
`
Same here @mchiang0610.
I had to sudo service docker restart to get past that, @mchiang0610.
@tlongren Thanks, getting this error after: (This is on Ubuntu 14.04 LTS 64bit)
npm install
npm WARN package.json [email protected] No repository field.
npm run
npm ERR! npm run-script [<pkg>] <command>
npm ERR! not ok code 0
make: *** [run] Error 1
Fixed by installing the nodejs-legacy package:
sudo apt-get install nodejs-legacy
@tlongren and @mchiang0610 is all working fine now ?
good over here @zedtux!! :+1:
Working fine.
Linux Mint 17.1 Rebecca fresh install
:+1:

Works fine for me on Elementary OS. Was able to pull down some of my own images and run them without a problem. 1+
@funkymonkeymonk @ruffsl @atrauzzi @saitodisse @jas99 @deviantony @grigio @rodrigobraga @mraxilus @sanderboom @lf-jeremy @Pyppe @allanino @zetxx @Nexion @mereghost @ntiq @nilleb @bweston92 @matsufuji @ranobrega @antirek @bweston92 @peernohell @sabatesduran @Galmido @ejb1123 @AxelVoitier @bkbonner @memolipd @fernandoneto @kbudde @brpaz @jas99 @qgicup @ozkxr @groteck @stilliard @vosmith @rrarunan @victort @Cediddi @ChristopheBoucaut @fatmatto @MarkHerhold @ffhex @tlongren @giodamelio @FrostyX @drankinn @maybenull @JesseFarebro @vyral @garyritchie @geovanisouza92 @carukc @bfoujols @mattstibbs @miguelcobain @epyonavenger @weaseal @piedrahitac @daanhorn @sboily @ronnross @jghibiki
You all said you liked a linux version of kitematic. It's now here, thx to @zedtux (:ok_hand:), so coud you test it out? And say if it works for you?
Btw @zedtux do you know if it will be easy to wrap this into .deb and .rpm packages?
@caske33, I tried. I have got the same bug with nssdb directory when i click on the dialog icon (bottom left). I tried to change the chmod but it's not solved the problem.
I tried to start php-apache and it succeeds ! =)

Thanks for this job !
Little question: kitematic can list local images ?
@caske33 you're more than welcome ! I'm really happy that this is enjoyed by couple of people ! :+1:
Regarding the .deb and .rpm packages, I have some knowledge for .deb packages but it's not my best area. I would prefer that a really packager is doing it (especially for Debian as they have a lot of rules and so on) but I'm completely free to help in case it's needed if there are some questions and for testing the package on Debian.
@ChristopheBoucaut Have you tried adding your user to a docker group and running kitematic as npm start (without the sudo)
Hello,
On ubuntu 15.04, works for me ! (recap)
mkdir ~/kitematic
cd ~/kitematic
git clone [email protected]:zedtux/kitematic.git
cd kitematic/
git checkout linux-support
sudo apt-get install npm nodejs-legacy
make
sudo npm start
Thanks !
@zedtux maybe fpm could help the packaging stuff.
@caske33 My user is on docker group, and this works fine.
Working well on Ubuntu 14.04, but when I hit the close button, the app just close the main window and keep running through terminal.
Yeah, you can actually Ctrl+C the terminal without closing the app.
@zedtux I think we can acheive the .deb packages etc. by using electron-packager to package it into a directory (https://github.com/maxogden/electron-packager) and then using fpm to package that directory into a .deb and .rpm (https://github.com/jordansissel/fpm/wiki/Source:-dir)
@caske33, i didn't create the docker group (this ?). I will try and I will you give the result.
@ChristopheBoucaut That's indeed what I'm referring to.
working without sudo for me.
@caske33 your packaging solution will produce a .deb package, but I do believe it will not be compliant to the Debian folks. Unless you don't care to have Kitematic in the official Debian repo, it should be done in the state of the art in order to get it accepted.
@zedtux your branch seems to work fine on ubuntu 15.04.
i'd installed docker in the past:
# install docker
curl -sSL https://get.docker.com/ubuntu/ | sudo sh
# add my user to docker group
sudo gpasswd -a ${USER} docker
rebooted since then, which i recommend for simplicity's sake, or do this for your current terminal session:
# restart docker
sudo service docker restart
# tell the current terminal about the new docker group changes
newgrp docker
to setup kitematic:
# download kitematic to /opt/kitematic
cd /opt
sudo git clone https://github.com/zedtux/kitematic
cd kitematic/
sudo git checkout linux-support
sudo make
# adjust permissions so that anyone in docker group may use kitematic
chmod -R g+w .
chgrp -R docker .
# start kitematic
npm start
Thank you @redeemed2011 for the details. I personally prefer to use sudo but it's nice to have this kind of documentation.
+1
The merge request has been opened.
On Debian Jessie it works with no trouble :100:
@funkymonkeymonk you're the author of this issue. I believe we can't go ahead without your validation :-)
Can you please take the time to test my portage ?
It's awesome that you guys really implemented the linux support! Thanks! :-)
Anyway, I am struggling with the make command on my Fedora 22. I followed @redeemed2011 manual and I got https://bpaste.net/show/8fd112596343 .
I will also try it on my Gentoo on the weekend.
@FrostyX That seems like a bug with the chromium-pickle module.
@caske33 install works fine on Ubuntu 12.04 using npm and node 0.12.2 :)
gg @zedtux
@caske33 seems to run fine on Archlinux.
Docker-cli gives unknown terminal emulator
Somewhere 'Finder' is mentioned, that should probably be changed to something more general.
@sanderboom In his PR, @zedtux mentioned that he only implemented the gnome-terminal emulator. Which one are you using?
@zedtux the mentioning of "Finder" is when you click on a volume, I believe.
@caske33 @zedtux I've added a comment to #699 about the 'Finder' wording.
@caske33 @zedtux mate-terminal, and I was going to open an issue for this, but you are faster ;)
thanks for the great work!
I will change the 'Finder' mention. I've noticed it and forgot to change it.
@sanderboom is mate-terminal installed in /usr/bin ? Also what is the flag to use to execute a command ?
@sanderboom and @caske33 the 'Finder' mention has been replaced in the PR.
@zedtux
Yep /usr/bin/mate-terminal
From man mate-terminal:
-e, --command
Execute the argument to this option inside the terminal
@sanderboom please do a git pull and try again for the 'Docker cli' :)
@zedtux great quick fix, works like a charm (opens a terminal in kitematic directory)
Cool, thank you @sabatesduran :)
Awesome! I'll hopefully be able to try it tonight!
In addition to the steps provided by @redeemed2011 above, I also had to run this one additional command, before I could "sudo npm start" to load Kitematic:
sudo npm install grunt-babel
This was on Linux Mint 17.1.
Works fine on Ubuntu 15.04! Great work guys!
Seems to work well on Linux Mint 17.1. Nice!
Fresh install of Ubuntu 15.04 following @sboily with https://github.com/kitematic/kitematic/issues/49#issuecomment-114077936
I get this issue,
"Unhandled rejection Error: /home/bweston/kitematic/kitematic/resources/docker-machine stop dev returned non zero exit code. Stderr: /home/bweston/kitematic/kitematic/resources/docker-machine: 1: /home/bweston/kitematic/kitematic/resources/docker-machine: Syntax error: word unexpected (expecting ")")
@bweston92 when exactly did this error happen? (what are the steps to reproduce it?)
@caske33 it happens whilst installing, how-ever for some reason I attempted to run the docker executable in resources for some idea and I get the same issue.
docker: Syntax error: word unexpected (expecting ")")
I'm running Ubuntu 15.04 64bit
Have you installed docker before installing kitematic?
No, I had a fresh install, where Kitematic would download it.
Kitematic currently doesn't install docker itself. As this is too hard to do because of the different package managers. When a kitematic deb package is made eventually, docker will be a dependency, but for now, you'll have to install it manually.
Ok, working fine now thanks!
@zedtux Ok, I'm stupid. This can't work on my professional computer, I'm in 32bit and docker afaik only work in 64bits, right ?
But your application works as expected :)
@mickaelandrieu you're not stupid, you've just missed an information. It's okay :)
I'm surprised that there would be not 32 bits version of Docker. What Linux distribution do you use ?
@zedtux ubuntu :/
@mickaelandrieu you was right:
from https://docs.docker.com/installation/ubuntulinux/
Docker requires a 64-bit installation regardless of your Ubuntu version. Additionally, your kernel must be 3.10 at minimum. The latest 3.10 minor version or a newer maintained version are also acceptable.
I had to take the following steps to get it working on my hybrid Ubuntu14.04/Mint17.02 setup:
cd /opt # Or wherever. I did it in my home dir. curl -sSL https://get.docker.com/ubuntu/ | sudo sh # Installs Docker if you don't already have it. sudo apt-get install nodejs-legacy # Installs Node if you don't already have it. sudo gpasswd -a ${USER} docker # Adds your user to the docker group sudo git clone https://github.com/zedtux/kitematic # Downloads Kinematic source cd kitematic sudo git checkout linux-support # Enables Linux support sudo npm install -g npm # Updates NPM to avoid some sort of dependency version resolution issue. sudo npm install grunt-babel # Recommended by other users sudo make # Builds the things sudo chgrp -R docker /var/lib/docker . # Changes the ownership of files so that Docker group members have access sudo find /var/lib/docker -type d -exec chmod g+rwx {} \; # Changes the permissions of directories so that Docker group members have access sudo find . -type d -exec chmod g+rwx {} \; # Changes the permissions of directories so that Docker group members have access sudo chmod -R g+rw /var/lib/docker . # Changes the permissions of files so that Docker group members have access sudo service docker restart # Allows Docker to pick up changes sudo bash -c "echo -e \"[Desktop Entry]\nType=Application\nName=Kitematic\nComment=The easiest way to start using Docker.\nExec=npm start\nPath=$PWD\nIcon=$PWD/images/whaleicon.png\nTerminal=false\nCategories=Accessories;Development;System\" > /usr/share/applications/kitematic.desktop" # Creates an entry in your menu to launch Kitematic.
As with other users, I am unable to launch any CLI commands due to the terminal emulator not being set. Can someone please advise me on how to trick it into using whatever is the default terminal? I am not using Gnome or MATE terminals, I use Terminator and also have the XFCE terminal installed.
sudo bash -c "echo -e \"[Desktop Entry]\nType=Application\nName=Kitematic\nComment=The easiest way to start using Docker.\nExec=npm start\nPath=$PWD\nIcon=$PWD/images/whaleicon.png\nTerminal=false\nCategories=Accessories;Development;System\" > /usr/share/applications/kitematic.desktop" # Creates an entry in your menu to launch Kitematic.
Thank you for the tip :)
@nakedhitman You have to tell @zedtux how your terminal emulator executes commands. He can add support for your emulator then.
@nakedhitman you can :
in my fork: https://github.com/zedtux/kitematic.
@zedtux manually implementing every terminal would probably be a poor use of your time. Most terminal emulators accept a common set of input and launch options, and are available through the alternatives system with the alias x-terminal-emulator. Executing this alias launches Terminator for me, and that is how most other programs know to use it.
You can find more information at:
http://linux.die.net/man/8/alternatives
http://www.howtogeek.com/howto/ubuntu/set-the-default-terminal-emulator-on-ubuntu-linux/
Thank you @nakedhitman for coming with this. I have already looked for this x-terminal-emulator and understood that this is something available for Debian and Ubuntu but it was looking like it could not be available for other distro so this is the reason why I'm doing the implementation of every terminals...
Do you think that the x-terminal-emulator alias is available everywhere ?
@pvangundy It looks like you're missing a lot of node packages. Could it be possible that your /tmp folder is in a partition and it would not have space left ?
@zedtux Thanks for the prompt response. The partition that my /tmp folder is in is 99% free. Perhaps there's an issue with running this on Fedora 22 as I see successes by others using Ubuntu?
@pvangundy you're welcome :)
Okay, at the end of the day, you're error is the following:
[...]/v8/include/v8.h: No such file or directory
As I've never used Fedora I don't know how you can install V8 ... but it should help !
And yes Debian/Ubuntu users seems to have no issues.
@zedtux So the issue appears to be with locating v8.h. V8 and V8 devel packages are installed and still having an issue. It is possible that these distributions (Ubuntu and Fedora) aren't storing the files in the same path? v8.h on Fedora 22 is in /usr/include/v8.h.
Or perhaps distribution doesn't or shouldn't matter because it's using npm?
Thoughts?
@zedtux alternatives is for sure a Debian project, but is jointly maintained by Red Hat now, and is commonly available on Fedora/RHEL/SUSE and several derivatives. You're right that its not available everywhere (Arch and Gentoo do their own thing for example), but most users of those distros will be figuring out their own solution, as it is unreasonable to expect that developers support every niche. If you were to standardize on x-terminal-emulator and decide on the sorts of input that needs to be there, it would be relatively simple for users that do not have alternatives to put a script or symlink in its place that points to a supported terminal emulator. Just trying to save you some work ;)
Thank you @nakedhitman for the details and I have to admit I'm agreeing with you. @TeckniX do you agree with that ?
@pvangundy to be more clear, your issue is when npm is installing the module native_mate. There is a compilation step which requires the file ../deps/v8/include/v8.h from the path /opt/kitematic/node_modules/grunt-electron-installer/node_modules/asar/node_modules/chromium-pickle/build.
To be honest ... I don't really see why it's not working. I'm sorry to not help more on that and I don't think that this issue is the right place to discuss the issue.
It looks like the issue is related to the grunt-electron-installer module at the end of the day. Maybe you should open an issue on the grunt-electron-installer project.
@zedtux @nakedhitman I think that's the right approach - Adding support for every flavor of terminal would be a nightmare.
The symlink should be a good enough fix and could be added to the wiki within a Linux section - We'd probably need some sort of try/catch and provide a link to the wiki to the user.
Thank you @FrenchBen, let's do it this way ! :)
@zedtux Here's the wiki entry - Let me know if anything is missing or should be changed:
https://github.com/kitematic/kitematic/wiki/Common-Issues-and-Fixes
Trying this on Ubuntu 14.04 64bit and hitting a problem.
https://bpaste.net/show/dd657c8c24de
Logfile: https://dl.dropboxusercontent.com/u/3371527/npm-debug.log
Sorry @who-me, I don't really understand the issue. There is a file missing while compiling a module ... I would recommend you to search on google.
@who-me Can you confirm your nodeJS and npm version?
@FrenchBen
nodeJS is version 0.10.25~dfsg2-2ubuntu1 and npm: 1.3.10
We'd probably need some sort of try/catch and provide a link to the wiki to the user.
@FrenchBen can you please give me the URL of the wiki page to be shown when the symbolic link x-terminal-emulator doesn't exists ?
I solved my problems with "sudo npm start" in user nvm environment using this command:
n=$(which node);n=${n%/bin/node}; chmod -R 755 $n/bin/*; sudo cp -r $n/{bin,lib,share} /usr/local
taked from http://stackoverflow.com/questions/21215059/cant-use-nvm-from-root-or-sudo
This worked for me and let me to start the app smoothly
@zedtux This is where I've added the stuff - Feel free to edit anything in the Linux version:
https://github.com/kitematic/kitematic/wiki/Common-Issues-and-Fixes
Thanks, thanks, thanks, really thanks @zedtux !!! for provide support for Linux. We are first-class citizens, not second-class ones!!
@zedtux I tried your solution for Fedora-20. I am still getting this error:
73417 silly gunzTarPerm extractEntry lib/util.js
73418 silly lockFile 751422b8-e-modules-hawk-node-modules-hoek tar:///opt/kitematic/node_modules/grunt-curl/node_modules/request/node_modules/hawk/node_modules/hoek
73419 silly lockFile 751422b8-e-modules-hawk-node-modules-hoek tar:///opt/kitematic/node_modules/grunt-curl/node_modules/request/node_modules/hawk/node_modules/hoek
73420 silly gunzTarPerm extractEntry lib/properties/textLineThroughMode.js
73421 silly gunzTarPerm extractEntry lib/properties/webkitBorderAfterWidth.js
73422 silly lockFile ab0f25f8-root-npm-hoek-2-14-0-package-tgz tar:///root/.npm/hoek/2.14.0/package.tgz
73423 silly lockFile ab0f25f8-root-npm-hoek-2-14-0-package-tgz tar:///root/.npm/hoek/2.14.0/package.tgz
73424 error Error: ENOENT, open '/root/tmp/npm-10604-2mKRYYmW/1439188418264-0.9691407685168087/package/package.json'
73425 error If you need help, you may report this log at:
73425 error <http://github.com/isaacs/npm/issues>
73425 error or email it to:
73425 error <[email protected]>
73426 error System Linux 3.11.10-301.fc20.x86_64
73427 error command "node" "/bin/npm" "install"
73428 error cwd /opt/kitematic
73429 error node -v v0.10.36
73430 error npm -v 1.3.6
73431 error path /root/tmp/npm-10604-2mKRYYmW/1439188418264-0.9691407685168087/package/package.json
73432 error code ENOENT
73433 error errno 34
73434 verbose exit [ 34, true ]
Apparently that's because of package.json file. But that file is already there. Any thoughts?
Thank you @sebelk :)
@Pensu can you please post all the commands you've run ?
@zedtux: I ran the ones given here: https://github.com/kitematic/kitematic/wiki/Common-Issues-and-Fixes
The ones that are titled, early linux support.
@Pensu do you have this error all the time ? Couldn't be that you got an issue to download a file ?
@zedtux: I tried it twice, it's the v8 issue this time:
GET https://registry.npmjs.org/ansi-wrap/0.1.0
npm http 304 https://registry.npmjs.org/expand-range
npm http 304 https://registry.npmjs.org/async
npm http GET https://registry.npmjs.org/fill-range
In file included from ../node_modules/native-mate/vendor/src/native_mate/converter.h:13:0,
from ../node_modules/native-mate/vendor/src/native_mate/arguments.h:10,
from ../node_modules/native-mate/vendor/src/native_mate/arguments.cc:5:
../node_modules/native-mate/header_redirect/v8/include/v8.h:2:35: fatal error: ../deps/v8/include/v8.h: No such file or directory
#include "../deps/v8/include/v8.h"
^
compilation terminated.
npm http 304 https://registry.npmjs.org/object-keys
npm http 304 https://registry.npmjs.org/mime-types
npm http GET https://registry.npmjs.org/mime-db
Any way to resolve that? I was reading the thread, there is no grunt-electron-installer directory, so I can find build and create a simlink! @pvangundy
+1
Running make is going through several errors on Ubuntu 15.10
Ran from Docker Hub _jonadev95/kitematic-docker_. Some features aren't working, but it's running
Works great! Why do Kitematic official project don't support it??
I had errors while running make.
Why don't overwrite the official readme.md to include the linux installation instructions?
@dalareo @pauloch8 As you can see opinions differ on when this works properly - The kitematic already has to QA OSX/Windows, I believe it's only normal that additional QA is made for this pull prior to seeing it being merged.
@pauloch8 As mentioned in the comments above, there's an entire wiki section for this (moved now to it's own wiki page):
https://github.com/kitematic/kitematic/wiki/Early-Linux-Support
+1
+1
+1
I've made a package for Arch Linux. It solely installs a binary build from the linux-support branch at https://github.com/zedtux/kitematic and adds a .desktop file and icon. Still quite experimental.
Also added some instructions to the wiki page (https://github.com/kitematic/kitematic/wiki/Early-Linux-Support).
+1
When closing Kitematic on linux I see 4 processes remaining:
sander@zenbook:~/dev/arch/vagrant
λ ps aux |grep Kite |grep -v grep
sander 22349 1.2 0.9 1240272 91196 ? Sl 12:13 0:01 /opt/Kitematic-linux-x64/Kitematic
sander 22352 0.0 0.2 332144 26380 ? S 12:13 0:00 /opt/Kitematic-linux-x64/Kitematic --type=zygote --no-sandbox
sander 22366 0.9 0.7 471916 79872 ? Sl 12:13 0:00 /opt/Kitematic-linux-x64/Kitematic --type=gpu-process --channel=22349.0.676275670 --no-sandbox --supports-dual-gpus=false --gpu-driver-bug-workarounds=2,27,30,43,52 --disable-accelerated-video-decode --gpu-vendor-id=0x10de --gpu-device-id=0x1140 --gpu-driver-vendor --gpu-driver-version
sander 22374 4.1 1.0 1101692 111284 ? SNl 12:13 0:03 /opt/Kitematic-linux-x64/Kitematic --type=renderer --force-device-scale-factor=1 --no-sandbox --enable-deferred-image-decoding --lang=en-US --node-integration=true --enable-pinch-virtual-viewport --enable-delegated-renderer --num-raster-threads=2 --use-image-texture-target=3553 --disable-accelerated-video-decode --channel=22349.1.4647250
@zedtux Any idea what's happening?
+1
:+1:
@sanderboom when I was developing the Linux support, I always has to do CTRL+C in order to really stop the app, but I think this due to the auto-refresh mode (Doing a change in the code, saving the file is reloading the app automatically).
Now how will this be out of the development box, I don't know, and I guess @mchiang0610 or maybe @FrenchBen could answer this question ?
Great work! Archlinux, HiDPI laptop, except some small fonts issues, everything is fine!
PS: using standard window decoration is better than current Mac OSX - like header, i cannot see any borders

Thank you @zhulik for sharing :)
+1 :+1: too
@sanderboom How did you create your Arch linux bin?
I see the source bin is pulled from: https://raw.githubusercontent.com/sanderboom/kitematic/bin/bin/Kitematic-linux-x64.tar.xz but no instructions as to how this bin can be created/generated
@FrenchBen I didn't want to have to rely on all node/npm dependencies on the installer's system, as I ran into issues with node 4+. I basically built as per https://github.com/kitematic/kitematic/issues/49#issuecomment-113741482
@sanderboom maybe I should've looked at what's in the repo.... I thought you created a true binary, maybe it's just a compiled js?
@FrenchBen FYI Kitematic is using https://github.com/atom/electron
+1
Installed following the instructions, but please +1 for linux support.
:+1: for native package
and may I add, web install or apt-get repo too?
@scs3jb native package/apt-get/yum is on the list of things that still need to be implemented. Buttoning up a few things in the PR to then see it merged
+1
For all: The Linux support has been merged in master yesterday ! @FrenchBen this ticket can be closed :)
Awesome news!
+1000
David A. Lareo
@dalareo
El 02/12/2015 09:50, "Sander Boom" [email protected] escribió:
Awesome news!
—
Reply to this email directly or view it on GitHub
https://github.com/docker/kitematic/issues/49#issuecomment-161223365.
@zedtux There are still no binary releases for Linux. Will this change any time soon?
@fnkr more than a binary, there's been discussion of a package creation, but nothing has been set - Feel free to contribute and implement a package step :D
@fnkr I did the implementation but I'll not take care of the packaging.
@FrenchBen while waiting for a perfect packaging, why not just building a binary like it's done for Windows and OSX ?
@zedtux all the binaries are built using the Gruntfil - I didn't see an entry to get that done in your Linux PR - Feel free to add one :D
That's true my initial goal was about to make it working on Linux. Regarding the binary building, it shouldn't be that complicated thanks to electron and Grunt and Linux should be quite close to OSX.
Unfortunately I don't have the time.
+1 for continuing this effort !!
From my point of view a first step to package Kitematic on ubuntu/debian could be using electron-packager
Unfortunately tried that but I only get a Blank screen for the moment:
npm install electron-packager -g
cd Kitematic
electron-packager . --platform=linux --arch=x64 --overwrite
cp build/browser.js Kitematic-linux-x64/resources/app/
Kitematic-linux-x64/Kitematic
@adomenech73 Let us know if you get more headway on it. As an FYI we use grunt for our release process; if you can create the linux section there, it would be great!
@FrenchBen I read the gruntfile as you pointed and understood something.
This hack actually works for me:
cd kitematic/build
npm install
electron-packager . --platform=linux --arch=x64 --overwrite
Kitematic-linux-x64/Kitematic
This generates a binary file of 58 mb aprox with this description in my case
file Kitematic-linux-x64/Kitematic
Kitematic-linux-x64/Kitematic: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.24, BuildID[sha1]=6e3bbc9ddc28902a3823195a3a30e12776f48c9f, stripped
Next i could use dpkg to create a deb package on my laptop.
Are you saying to integrate that process on the same gruntfile? I have to do it after // image comented section of the file?
Tomorrow I try to check a bit more about grunt syntax
Seems that is almost done already
https://www.npmjs.com/package/grunt-electron-debian-installer
@adomenech73 exactly -- it would be nice to have the npm run release be the trigger for:
The packaging and support for different Linux versions may be an extra step that would be opiniated
@FrenchBen I think I've got something working:
https://github.com/docker/kitematic/pull/1677
Can you give me some feedback?
Regards
:+1: to Linux support! :)
Can you create a Dockerfile to build kitematic with docker? then we can install the files extracting it from the container.
@mercuriete not sure what you mean?
@FrenchBen I think what @mercuriete means (correct me if I'm wrong) is to use Dockerfiles to build the different Linux possible packages, in that way you are not attached only to your distribution during the build process.
I did something similar here Bitbucket to build and package Nginx rpm for Centos7 from my Ubuntu laptop. Perhaps it could be useful in some cases
I see; It would be useful to have for local dev, but not very practical in our current build process.
@FrenchBen @adomenech73
Yes, i mean something like that. but more for lazy people like me :smile: that don't want to download dependencies or change my distro.
I am currently using gentoo linux, I'm not sure if I can build it.
Anyway, i supposed that you used jenkins with docker to build docker. https://jenkins.dockerproject.org/
Your work is awesome, keep going :+1:
Is anyone looking for this beyond more tooling and complicated setup?
This is a so awesome tool to leave behind just because a packaging issue.
@geovanisouza92 There is no packaging issue - If you look at the latest release we now have a full-blown Ubuntu package available for download.
@FrenchBen, Where would i find the ubuntu package? I've looked at https://www.docker.com/products/docker-toolbox and https://github.com/docker/kitematic but only see the Mac and Windows versions mentioned. Where would I find this 'full' package?
What about Debian? Usually you create a package for Debian which is then available for Ubuntu.
@geovanisouza92 @carukc https://github.com/docker/kitematic/releases/tag/v0.12.0
@zedtux it was created for debian but Ubuntu being a bigger keyword, it's named Ubuntu.
Fantastic! Thanks.
+1
Debian
Doesn't the Ubuntu release run on Debian?
+1
@Fahrradflucht @brunosimioni I'm sorry but I think that Ubuntu release will never run on Debian (or the other way arround) cause off different library versions on this distributions.
But the build process will give you the package needed, depending on the distribution you build from.
I think it's fair enough, if you use Debian you can build Debian packages and if you use Ubuntu you can build Ubuntu packages as well.
Off course you can always use vagrant or any virtualization technology, even a Dockerfile to to build cross-distribution packages.
@adomenech73 Most Ubuntu packages and libs are coming from the debian repositories, so there is no real possibility of incompatibility. If yes, then it is easily solvable either by source recompiling, or by binary patching. But I never heard that such a problem had been happened.
@HorvathAkosPeter That's true, but on the other hand Ubuntu comes from freezed
testing Debian sources, so most of the time library versions are notably
different between stable versions of both distributions also other aspects
(like boot process) are diferent ass well. I'm not very sure with
Kitematic, didn't try this really but I'm pretty sure that if I build a
Debian package of Docker and try to install it on Ubuntu (or vice versa)
will not work out of the box. Also the Kitematic deb package it's done
througth electron builder module and that will always create the package
with the dependencies linked to the distribution you are running from.
On Fri, Sep 30, 2016 at 1:36 PM, Peter Horvath [email protected]
wrote:
@adomenech73 https://github.com/adomenech73 Most Ubuntu packages and
libs are coming from the debian repositories, so there is no real
possibility of incompatibility. If yes, then it is easily solvable either
by source recompiling, or by binary patching. But I never heard that such a
problem had been happened.—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/docker/kitematic/issues/49#issuecomment-250723217,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AD2l9ECLyoDOtas6mO_L6zpwWWW5mCvSks5qvPQ4gaJpZM4CeNIE
.
~{ Albert }~
#113932
+1
@adomenech73 Can you try the package before making assumptions and report back?
@FrenchBen You are rigth, and I had to check before talking, and seems to be I was wrong after all.
I built two packages, one from ubuntu and one from debian. Both using with node 4.6.0
Both of them install indistinctly on both operating systems. So they are actually cross Distribution compatible packages (Ubuntu/Debian).
Seems to exist minimal differences on package size 35179928 bytes on Debian vs 35330018 on Ubuntu.
Just dynamic tag values variation on ldd over kitematic binary. (I attach both of the outputs)
Seems to happen some sort of home loading page problem when it continuously search for remote repositories or images, but seems to be transversal because it happens exactly the same on any installation combination. I can login on my account and check my local images and containers without any problem.
Thanks @adomenech73 for sharing the results of cross-platform builds.
What would be the best way to get kitematic up and running on an arm64 architectured box (ODROID C2 with Ubuntu 16.04 in my case)?
@wbartussek fistful you will need docker and node with grunt globally installed on the C2 then download there the kitematic sources either by cloning the repository with git or downloading any of the latests source release you also will need some requirements sudo apt-get install curl git dpkg fakeroot after that you must be able to build aarch64 package with grunt release you will find installable package under dist directory
Thanks a lot. Seems to be a challenge. For me this is a weekend activity. So I'll be back next Monday ;-)
@wbartussek Don't be scared seems a lot but you will see it's simple. Docker you can install from Ubuntu itself sudo apt-get install docker.io you don't need latests version for that. Node I didn't explain cause you have multiple ways, but my favorite is using nvm, you can do with simple command curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash and after you are can install any node version nvm install v4.6.0 is my recomendation, you can do this from the unprivileged user (you don't need sudo). You will also need to install grunt globally, yo can do this with npm install -g grunt-cli.
Finally you install the requirements as I pointed and download kitematic source. You will see it's not that hard!!
@adomenech73 Following your advice I got a bit further. However when I run npm installin dir /home/odroid/Downloads/kitematic-0.12.0, I get this error:
[email protected] postinstall /home/odroid/Downloads/kitematic-0.12.0/node_modules/electron-prebuilt
> node install.js
Downloading electron-v0.36.12-linux-arm64.zip
Error: GET https://github.com/electron/electron/releases/download/v0.36.12/electron-v0.36.12-linux-arm64.zip returned 404
/home/odroid/Downloads/kitematic-0.12.0/node_modules/electron-prebuilt/install.js:22
throw err
^
Error: Failed to find Electron v0.36.12 for linux-arm64 at https://github.com/electron/electron/releases/download/v0.36.12/electron-v0.36.12-linux-arm64.zip
If you try to go to the referenced url you get of course also a 404. Looking at
https://github.com/electron/electron/releases?after=v0.37.6
(where you also find the v0.36.12 releases), it turns out that there is no arm64 zip file, but instead a file called
https://github.com/electron/electron/releases/download/v0.36.12/electron-v0.36.12-linux-arm.zip
This naming convention is also valid for all newer versions.
Now I searched the kitematic directory to find the file where I could replace this wrong reference. Unfortunately to no avail. So, I'm stuck right now.
@wbartussek I'm so sorry you are totally on true, absolutely my fault!!
I have a serious mix-mess between docker products and architectures
As you pointed electron, still is not ported to arm64 (this happens often cause is still a very new arch and usually not supported still)
Even trying to cross compiling like pointed in Github gets broke when downloading chromium content.
Other ways I also was expecting to use kitematic was through docker-machine, seems to me better option to operate remotely over docker on ARM SoC cards, but also seems to be stuck.
I suppose we still have to wait to see a more general use of the arch
but good start point could be try to recover some of the work previously done by hypriot it could be a really smart feature
+1
+1
+10086
RPM distributions DO exist, and they are popular (Fedora, OpenSUSE).
Please provide a RPM package.
So, when will we see a Linux package? It's been nearly two years since Linux support was merged in, and still the home page says that Kitematic is "for Mac and Windows"? Come on!
Maybe is responsibility of linux distributions (and users) to package it and maintain those packages (?)... archlinux is supporting it from 2015, see http://aur.archlinux.org/packages/kitematic and http://aur.archlinux.org/packages/kitematic-git
~I would think that this is related to the release process. Kitematic is using a very old version of electron and release process. I feel like bumping the electron version, using electron forge for release and then running releases on travis (for mac and linux) and appveyor (for windows) would be the way to go.~
~I'm kinda working on this but am pretty new to the electron ecosystem so... any help would be appreciated (especially knowledge about migrating old electron projects and/or setting up release pipelines for appveyor).~
EDIT: Actually there is an Ubuntu package (maybe .deb or something)... so there is linux support. But if you want other package types, I bet it's on you to implement that.
However... electron forge should help support more package types... so I think that would be a good update.
@mhelmetag FYI Electron based apps in new linux systems have an ugly issue on native dialog (like alert, confirm, filechoosers, basically is not displaying characters...) https://github.com/electron/electron/issues/9616 . Its happening in kinematic-git version and is fixed in new electron versions so I guess is a good idea to update it in kinematic ! :) . thanks
Most helpful comment
Doesn't the Ubuntu release run on Debian?