How do I tie VSCode update notification to apt update? - notifications

There is a delay (multiple days) from when a VSCode update is available thru their website - thus showing me the update notification - and when it's available in the apt package distribution.
Is there a way to modify the behavior of the update notification to check apt update instead of the normal channel?
Reference link : https://code.visualstudio.com/docs/supporting/FAQ#_how-do-i-opt-out-of-vs-code-autoupdates

This is not currently possible.
See this github issue : https://github.com/Microsoft/vscode/issues/55027

I have tried apt update and apt install code to update it, but it shows that vscode is already in its latest version, but vscode still prompts for update.
So, every time there's an update, I download the .deb file and do apt install ./<filename>.deb , this updates code and preserves the extensions.
Or its also available in snap store
sudo snap install --classic code # or code-insiders
Once installed, the Snap daemon will take care of automatically updating VS Code in the background. You will get an in-product update notification whenever a new update is available.
source: https://code.visualstudio.com/docs/setup/linux

Related

Problem running a PyQt5 project in WSLg - no application window shows up

I am running WSL2 under Windows 10.
If I type "gedit &" into the WSL console, the Gedit application window pops up. Thus I assume that WSLg properly works.
Next, I am trying to run the following PyQt5 project:
https://github.com/rafaelpadilla/review_object_detection_metrics
However, no application window pops up this time, although no error message appears either.
First of all, I do wonder whether this could work at all with WSL!?
Appendix for additional context:
I am not using conda because of licensing issues, but a combination of pyenv + poetry instead. First I had problems with a missing library (libxcb.so), which I could solve by running "sudo apt python-pyqt5". Now everything seems to work, except from no application window being shown.
UPDATE:
I tried with "/src/pyqt-official/qtdemo/qtdemo.py" from the official PyQt Examples github repository and I observed exactly the same issue.
There is no error message. Last prompt informs me that the "xcb plugin was loaded“, then nothing happens. In particular, no window is showing up.
Some related observations:
(1) I haven't yet updated my grafics card driver to support vGPUs. However, Gedit works and opens in a separate window.
(2) Unless I do "sudo apt install python3-pyqt", I receive an error message saying that it cannot find "libxcb.so". However, I am running the code in a virtual pyenv/poetry environment, which is separate from the system python installation. I don't understand why "sudo apt install python3-pyqt" makes a difference here. Shouldn't installing "PyQt5" with poetry obtain a wheel that comes with all libraries already compiled? I don't understand how all of this is playing together.
Open Questions:
Do you think the driver issue could be an explanation? I actually cannot imagine that. I thought it is only about better performance for OpenGL applications.
Can you explain observation (2)?
What else can I do?
First of all, I do wonder whether this could work at all with WSL!?
I can't tell you if that particular application will run under WSL, but my expectation is that it will. As far as I can tell in its dependencies there doesn't seem to be any reliance on GPU compute. That, to me, would be the trickiest part to configure under WSL (but is still typically possible). However, there may be other dependencies (not covered below) that you need to get running before the application can work.
What I can confirm is that PyQt works under WSL just fine. However, keep in mind that a default Ubuntu installation under WSL is based on a non-GUI Ubuntu Server distribution, rather than standard Ubuntu (with a desktop and GUI).
This means that Ubuntu Server is often missing system level libraries needed for GUI support, which appears to be the case here.
I don't understand why "sudo apt install python3-pyqt" makes a difference here. Shouldn't installing "PyQt5" with poetry obtain a wheel that comes with all libraries already compiled?
Poetry and/or Pip manage the Python library dependencies, but those Python libraries still require the native system library dependencies. That's where sudo apt install python3-pyqt5 comes in. Under a desktop Ubuntu system, most of these libraries would already be in place. However, with Ubuntu Server/WSL, they aren't.
For reference, here's my configuration. On a freshly initialized Ubuntu 22.04 WSL2 distribution:
sudo apt update && sudo apt upgrade -y
sudo apt install python3-venv python3-pyqt5
mkdir -p src/pyqt_test
cd src/pyqt_test
python3 -m venv .venv
source .venv/bin/activate
pip install pyqt5
I was then able to create and run the following, taken from Learn Python PyQt:
import sys
from PyQt5 import QtWidgets
app = QtWidgets.QApplication(sys.argv)
windows = QtWidgets.QWidget()
windows.resize(500,500)
windows.move(100,100)
windows.show()
sys.exit(app.exec_())
The window displayed correctly.

Fixing gnuradio deleted directory

I have been following this guide to install gnuradio 3.8 onto my Ubuntu 22.04.1 LTS, but I missed the instruction where it said "Ensure the "gitbranch" is maint-3.8", and mine said maint-3.10. After trying to install gr-iqbal, it gave me an error. For whatever reason, I thought that simply deleting the directory it was built in would let me reinstall it. It didn't.
I have tried using pybombs install gnuradio which gives me CMake Error: The source directory "/home/aboigoe/sdr/src/gnuradio" does not appear to contain CMakeLists.txt.
I have tried using pybombs rebuild gnuradio, but that obtains Package gnuradio is not installed into current prefix. Aborting.
To fix that, I tried using pybombs fetch gnuradio, which runs fine, but doesn't fix the previous error.
Finally, I tried pybombs remove gnuradio, but it says Package gnuradio is not installed. Aborting.
So you're working with pybombs! That makes this particular task easier: just delete the whole prefix, and start anew. The main thing you needed to build in that prefix was GNU Radio, and you built 3.10, and wanted 3.8, so that's a complete rebuild, anyways.
I assume you're following that guide (which comes, kind of, out of nowhere – GNU Radio has installation guides on their wiki, https://wiki.gnuradio.org) because you want exactly GNU Radio 3.8, with gr-osmosdr and gr-iqbal.
If you just want a working GNU Radio that can talk to your SDR hardware, um, don't follow random guides from the internet :) Instead, your whole problem boils down to a simple
sudo apt install gnuradio
and that's it – GNU Radio 3.10, as Ubuntu 22.04 ships it, contains gr-soapy, and Ubuntu's apt will install many available hardware drivers (for RTL-SDR, hackrf, mirisdr, bladerf, audio-interfaced hardware, red pitaya,…) without any need to do anything yourself. It just works.
The thing that will be different is that the blocks to inteface with your hardware will not reside under the "osmosd" category in your GRC, but in "Soapy", but I guess you'll deal with that rather than going through the rather convoluted way of installing an old (and not updated anymore) version of GNU Radio, to include an old (and not updated anymore) version of gr-osmosdr :)

How to prevent NVIDIA from automatically upgrading the driver on Ubuntu?

I was training models last night on my Ubuntu workstation, and then woke up this morning and saw this message:
Failed to initialize NVML: Driver/library version mismatch
Apparently the NVIDIA system driver automatically updated itself, and now I need to reboot the machine to use my GPUs... How do I prevent automatic updates from NVIDIA?
I think I have had the same issue. It is because of so-called unattended upgrades on Ubuntu.
Solution 1: check the changed packages and revert the updates
Check the apt history logs
less /var/log/apt/history.log
Then you can see what packages have changed. Use apt or aptitude to revert the changes.
Solution 2: disable unattended upgrades
Use this guide to disable unattended upgrades. Please consider if this solution works for you as you have to install security updates manually after this change.
Solution 3: hold specific packages
Use this guide on how to hold certain packages. Read the apt history as mentioned above to determine which packages you have to put on hold. Probably CUDA related packages such as nvidia-cuda-toolkit. Hard to say since some information is missing from your post. You can see all nvidia related packages like this
dpkg -l *nvidia*
I hope at least one of my solutions works for you :)
P.S. you have to change the title. NVIDIA isn't upgrading anything on your system by itself. Ubuntu is the one causing your trouble ;)

How to restart virtual machine?

If I want to run another version of tensorflow or keras, then I can install the same with specific version. But after that I want to rollback to latest version, and install tensorflow again with latest version say 1.6.0rc, it is installing, but when I check the version again, it is still pointing to earlier version of tensorflow. How can I overwrite earlier version with latest one?
If I restart runtime, it is not affecting the software installed, it is only resetting application variables.
The other way is to restart the virtual machine itself, but how do I do that?
Or I need to close colab portal and wait for some time(not sure how long?) and then open the portal again with hope that it would start new virtual machine....
Any clarifications on these are greately appreciated
To reset your backend, select the command 'Reset all runtimes...' from the Runtime menu.
You can try to restart the entire VM with !kill -9 -1. Check this: enter link description here

Debugging Adobe AIR apps on Kindle Fire

Possible?
I think to do this I need to upgrade the AIR runtime on the Fire to 3, but the version in the app store won't install. I can't create an AIR apk that is both captive runtime and debug that I know of, so the debug version of the app has to run on the AIR runtime installed. Since the Fire comes with 2.7, 3.x apps won't run in debug mode.
Has anyone managed to get AIR 3 running on a Fire without using captive runtime?
To update AIR on your KF you have to get root privileges. Also keep in mind that android build on KF doesn't have any copy command (it cut off). So the best way I found is to flash your KF with modified (pre-rooted) stock version and then install new air.
Get pre-rooted stock version (I took it here). IMPORTANT: it installs via TWRP, google how to install TWRP on KF.
Put downloaded .zip and air_runtime.apk (latest AIR version) in the root of KF.
Reboot in Recovery mode (TWRP should load)
Flash this version.
On your PC open cmd and run "adb shell" (make sure you see your device in list when run "adb devices" otherwise check drivers).
Run "su" (if you downloaded secure version).
In shell go to sdcard ("ls" to get list of files/folders and "cd folder_name" to get into) and run "install air_runtime.apk /system/app/air_runtime.apk" (I think you can just run "install /sdcard/folder_with_air/air_runtime.apk /system/app/air_runtime.apk").
(7a. If it tells you that can't install because of file already exist, run the following two commands: "mount -o remount rw /system" (mount 'system' with read/write rights) and "mv /system/app/air_runtime.apk /system/app/air_runtime.bak" (rename air_runtime.apk into air_runtime.bak). Then repeat step 7.)
In KF just run (install) air_runtime.apk (use any file explorer, e.g. download ES File Explorer from Amazon).
Check AIR version in Applications.
That's all. Looks a bit complex, but in real it takes about 4-5 mins for me to update AIR (BUT I have TWRP already installed).
Hope it helps.
UPD. After your Kindle updates itself (version 6.3.1 currently the latest) you'll lose you SU privileges. AIR also will be rolled back to 2.7. You can prevent KF auto-updates (search on xda how to do it) or flash actual pre-rooted version (it gives you several months without problems).