how to start code server terminal with chroot? - vscode-remote

I have a code server that runs on Android with termux, for university reasons, there are times when I must share my vscode environment and I would not like to expose my entire system and personal files through the terminal.
So I was wondering if it was possible to expose a terminal from an alpine distro with chroot (prrot in the case of termux) by default every time code server opens a terminal

After some time reading the vscode config, I realized that you can use the shell option to force it to start inside with alpine and not expose my files, nor my android system with termux
"terminal.integrated.shell.linux":"/data/data/com.termux/files/usr/bin/startalpine"

Related

How to configure build input packages/dependencies within Nix development shells?

I'm not using NixOS but I wrote a flake that I'm using to generate a dev shell to build a Rust project (this is essentially just the audio example from the Bevy repository). My issue is that I encounter the following error when attempting to run the project in the dev shell:
$ nix --extra-experimental-features nix-command --extra-experimental-features flakes develop
bash-4.4$ cargo run
Finished dev [unoptimized + debuginfo] target(s) in 6.62s
Running `target/debug/audio`
ALSA lib pcm_dmix.c:1075:(snd_pcm_dmix_open) unable to open slave
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: NoDevice', /home/a/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy_audio
-0.5.0/src/audio_output.rs:22:67
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
bash-4.4
One of the dependencies of the project is the Bevy crate which requires ALSA, so I'm assuming the issue is because the ALSA package exposed by the dev shell is probably misconfigured. I use PipeWire on my actual system (I think it also uses ALSA as a backend) and I tried adding ALSA and PipeWire as one of the buildInputs for the flake, but I'm not sure how I'm supposed to configure these within the dev shell. According to this issue on the Bevy repository, the usual fix for this issue, at least for Arch-based distros, is to install the pipewire-alsa package. I'm not sure what the equivalent of doing that is in the context of a Nix dev shell is though, since there is no pipewire-alsa package in nixpkgs that I can add to my flake. So with that said, how should I go about configuring ALSA or PipeWire in the dev shell?

Set up kenlm for Windows

The official website makes it pretty clear that there is no support for kenlm in Windows. There is a Windows tag at the github repository but it seems to be maintained by few random contributors then and there.
How to set up kenlm for Windows then?
The new DeepSpeech PlayBook also includes instructions for setting up a Docker image and running training from within a Docker container. If you have Docker on Windows, this might be another solution.
The information for building a new Scorer is still in a PR, but may also be useful.
The solution is to use Ubuntu in Windows through Windows Subsystem for Linux
Get WSL for Windows
From your ubuntu bash navigate to the folder where you want to do the setup. You can access the Windows file system from the /mnt/c/ folder, which you can find at the root directory.
From there simply follow the official instructions, that is clone the git repo, and run cmake .. & make -j2 in order to build the project (after first making the necessary installations in your Ubuntu system).
Obviously, you must train the models or scorers using the Linux bash. You can also use these models from Windows using the kenlm python library.
E.g.
The two steps to build a scorer for the deepspeech-model as described here should be executed from your Ubuntu system. But after you have the scorer you should be able to run the command
deepspeech --model deepspeech-0.9.3-models.pbmm --scorer kenlm.scorer --audio audio.wav
from Windows. However, once you have WSL there's no need to do this work from Windows. Things will work nicely #your Ubuntu system.
I've faced the same problem and solved it by building kenlm wheel from Cygwin terminal as home page advices (pip wheel pypi-kenlm).
I've also uploaded wheel to pypi called kenlm-cygwin, but it's only python3.7.

How to open the terminal from inside a snap application?

When i am trying to open my repo in the terminal from the Gitkraken GUI. It states:
There is no terminal configured in your settings. Would you like to configure your terminal now?
Next, I manually set the gnome terminal as custom terminal command with gnome-terminal %d. The keyword %d should be replaced with the repo path. Running this in a terminal works. However in Gitkraken i get:
Command failed. gnome-terminal path/to/repo /bin/sh
1: gnome-terminal: not-found
How do i setup gnome terminal as the default terminal for gitkraken. I am running Ubuntu 18.04.
Edit:
I see that GitKraken is runnig inside a snap. I have broaden the question to how to run a linux command from inside a snap.
Today i learned about snap confinement.
A snap’s confinement level is the degree of isolation it has from your
system.
To allow access to your system’s resources in much the same way traditional packages do You should install the snap with the --classic parameter.
snap install gitkraken --classic

Daydream View Controller Emulator won't work with Google VR SDK 1.1 and Unity 5.6 beta for Linux

I can't get the controller emulator to work with Google VR SDK 1.1 & Unity 5.6b3 under Arch Linux 64-bit. If I load the GVRDemo scene in Unit and click the play button to enter Play Mode, the console shows the following:
"Android Debug Bridge (adb) command not found.
Verify that the Android SDK is installed and that the directory containing adb is included in your PATH environment variable."
In Windows, you have to add the directory containing the Android Debug Bridge (adb) program to the PATH environment variable in Windows itself (not in the Unity program). Once you do that, the Controller Emulator works fine in Windows. You have to do the same in Linux, evidently, to get Unity to locate adb, and therefore get the Controller Emulator phone working for testing the game.
I've added the following line in my .bashrc and .profile files in my home directory:
"PATH=/home/jesse/Android/Sdk/platform-tools/:$PATH"
This, however, doesn't fix the issue.
I've also added the root directory of the Android SDK to my Unity Preferences > External Tools section.
I don't know how to get Unity and Google VR SDK to recognize the directory containing adb to the PATH environment variable that Unity needs to make the Controller Emulator work.
Is anyone else having this issue? Is there a fix or work-around?
I was able to locate the culprit and modify Google VR SDK scripts to make it work! Turns out there was an issue in the code of the script file titled "EmulatorClientSocket.cs" regarding non-Windows machines. Here's what I changed, and why:
Originally, in line 111 and 112 of this script, it read:
stringprocessFilename="bash";
stringprocessArguments = string.Format(" -l -c \"{0}\"", adbCommand);
The context is that when Windows is not present (forgive my layman's terms -- I've only started learning coding a month ago) the command to process is this: bash -l -c "adb forward tcp:7003 tcp:7003". The problem is when the -l option is used in the command, the command is interpreted as if coming from a login shell, which - I believe - means that bash isn't looking at the custom environment variables set in the user's .bashrc and .profile files in their home directory. Without looking at those files, bash can't locate the adb command (try running the bold command above in a terminal, and the result will be a prompt saying adb command not found).
To fix it, I simply removed the -l option from line 112, and, voila! Everything works like a charm! Lines 111 and 112 now look like this:
stringprocessFilename="bash";
stringprocessArguments = string.Format(" -c \"{0}\"", adbCommand);
The fix will work when running "unity-editor" or "unity-editor-beta" from the Terminal or Xterm, but running it from the application menu will still produce the adb error and Controller Emulator will not work.

can't find where BlackBerry 10 simulator was installed on MacOS, and re-install got "multiple launches of installer not allowed" error

Mac OS X Lion 10.7.5(11G63)
installer-bbndk-bb10_1_x-macosx-338-201302012246-201302032157.dmg
BlackBerry10Simulator-Installer-BB10_1_X-338-Mac-201302031817.dmg
After install the upper two dmg files, I can find qde in the launchpad, but I can not find the "BlackBerry10Simulator-BB10_n_nn.vmwarevm" file".
I want to re-install ,so I run the app "BlackBerry10Simulator-Installer.app" in Finder->devices->BlackBerry10Simulator-BB10-1-x, just get the pop-up-box saying
The Installer cannot be run.
Multiple launches of this installer is not allowed. It will now quit
, and then the installer quit.
How can I find the simulator install path, or
How can I re-Install it successfully.
P.S.
At the first time installing, I did not change anything while installing, just clicked those "next","accept..." buttons.
I think the simulator should be installed in default file path, but I don't know where is it, and can't find it even searching "BlackBerry10Simulator" in Finder.
Maybe there is something wrong while first time installing simulator?
The BB10 simulators are VMware virtual machines. On a Mac, you need to have VMWare Fusion installed in order to run the simulator VM. This is mentioned in the system requirements. All the dmg installer does is uncompress the VMware image and place it on your hard drive. I just installed this myself, and the default location seems to be:
/Users/<your username>/Documents/Virtual Machines
Inside there should be a folder Blackberry10Simulator-BB10_1_X-338 and inside that there should be BlackBerry10Simulator-BB10_1_X.vmwarevm which contains the actual virtual machine .vmx and .vmdk files.
There should also be an alias (shortcut) created on your desktop to point to this location, called Blackberry 10 Simulator.
To uninstall, there is a script in Blackberry10Simulator-BB10_1_X-338/install called uninstaller which should remove everything and allow you to install again.
Unfortunately, VMWare Fusion is not free but you can sign up for a 30-day trial in order to be able to run the simulator and test out your app.
I recently encountered this error with a different installer (but also installanywhere based). There seems to be a problem with the mirroring feature in VM Ware Fusion and the multiple install detection in Install anywhere. If you disable mirroring, I suspect the "Multiple launches of this installer is not allowed." error will no longer occur.

Resources