Comments (14)
@spelunk I will consider storing the files in the temporary directory
For now you can solve the issue by fixing the npm permissions
chown -R faressoft /usr/local/lib/node_modules
chown -R faressoft /usr/local/bin
chown -R faressoft /usr/local/share
Change faressoft
to your username.
from terminalizer.
Using Ubuntu 18.04, I got Terminalizer to work as follows:
# Install npm (requires dependencies)
sudo apt install npm node-gyp nodejs-dev libssl1.0-dev
# Install terminalizer globally
sudo npm install -g terminalizer
# Remove the electron that comes with terminalizer
sudo rm -rf /usr/local/lib/node_modules/terminalizer/node_modules/electron/
# Add electron globally - based on this SO answer https://stackoverflow.com/a/52033822/3508733
sudo npm install -g electron --unsafe-perm=true --allow-root
# By this point, I could record and play sessions, but got the error in this issue when I tried to render them.
# Symlink the hardcoded rendering path to where terminalizer is actually installed on Ubuntu
sudo mkdir -p /usr/lib/node_modules/
sudo ln -s /usr/local/lib/node_modules/terminalizer/ /usr/lib/node_modules/terminalizer
# Do the workaround above
sudo chown -R <user> /usr/lib/node_modules/terminalizer/render
sudo chmod 4775 /usr/local/lib/node_modules/electron/dist/chrome-sandbox
Thanks @faressoft and @paralllax!
from terminalizer.
@faressoft are you serious? Everyone, never do something like that.
As for this issue tools should not try to write anything to library paths. chmod solutions is something temporary before there is a real temp directory fix.
As another temporary solution we could symlink /usr/lib/node_modules/terminalizer/render/ to /tmp or some user folder (once again, this still is not something npm users should really do).
from terminalizer.
Why I'm still facing this issue it's 2023!
from terminalizer.
Messing with system folder permissions is not a great approach. @faressoft is there a specific reason why you have to write to a potential system folder rather than a temp folder or the current directory?
from terminalizer.
I've created a Gist with these instructions and also instructions for Ubuntu 20.04.
https://gist.github.com/volcan01010/6fcf7ae1f4975474ba9aac27efe17b84
I gave a thumbs down to the workaround above (chown /usr/local...
). These files are owned by root
for security. This would be an especially bad idea on a shared system.
from terminalizer.
Fixed in #226
from terminalizer.
Fix doesn't work for me.
from terminalizer.
If anyone still needs a work around, this worked for me.
sudo chown -R <user> /usr/lib/node_modules/terminalizer/render/
sudo chmod 4775 /usr/lib/node_modules/terminalizer/node_modules/electron/dist/chrome-sandbox
from terminalizer.
This is very bad. Using 0.7.2 and still doesn't work.
from terminalizer.
Hey @volcan01010 ,
Using your exact steps in ubuntu 20.04, I got:
Error:
Error: /usr/local/lib/node_modules/terminalizer/node_modules/electron/dist/electron: error while loading shared libraries: libnss3.so: cannot open shared object file: No such file or directory
I obviously tried to sudo apt install libnss3
, which even having worked, has led me to:
Error:
Error: /usr/local/lib/node_modules/terminalizer/node_modules/electron/dist/electron: error while loading shared libraries: libgdk_pixbuf-2.0.so.0: cannot open shared object file: No such file or directory
Which I resolved with sudo apt install librust-gdk-pixbuf-sys-dev
, but then led me to:
Error:
Error: /usr/local/lib/node_modules/terminalizer/node_modules/electron/dist/electron: error while loading shared libraries: libgtk-3.so.0: cannot open shared object file: No such file or directory
And then I've given up. Are you sure you had a clean machine? I've just started this one on aws, and those instructions don't work.
Thanks anyway.
from terminalizer.
I've just found out this also makes it impossible to open two shells and start two render processes simultaneously!
I was at a very slow rendering, with more than 3000s still to go when I tried to speed things up and render another one in another shell... Bad mistake, to my astonishment it not only didn't work but also broke the first one!! 😞
from terminalizer.
+1 to fixing this, it sadly makes it super hard to use terminalizer on a linux system
from terminalizer.
@faressoft could you please at least handle the issue gracefully with a message like:
Error:
Missing access to global installation folder ('/usr/local/lib/node_modules/terminalizer/render/frames').
Please see https://github.com/faressoft/terminalizer/issues/29 for a workaround.
I would like to use terminalizer
globally, so local installation where permissions are correct (?) does not work for me.
The GIF rendering is the main reason I want to use terminalizer
and this makes it needlessly harder. 😞
from terminalizer.
Related Issues (20)
- Getting terminal ANSI escape sequences when replaying Powershell session
- Error "NODE_OPTIONs are not supported in packaged apps" at render HOT 1
- "Error: Something went wrong, try again later" caused by nginx redirect HOT 3
- "TypeError: Cannot read property 'join' of undefined" on sharing error
- Can't render HOT 1
- --config does not accept .yaml
- Error "Failed to connect to the bus" when trying to render HOT 1
- Question: Omitting username and current location
- cannot render gif HOT 7
- Libva error HOT 1
- terminalizer needs dbus to render a gif?
- [Website] You can put any characters as your username, and that causes issues with certain characters. HOT 1
- Error when running render HOT 1
- Increasing fontsize leads to weird GIF HOT 1
- global configuration should be in .config/ not in home HOT 1
- No content frame rendering
- Dockerfile
- Render not using temporary directory HOT 1
- docs: Nyan cat link is broken HOT 1
- Trying to build binaries using pkg
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from terminalizer.