loader image

Weather Forecast [Terminal || Linux]

What makes us different from other similar websites? Forums Tech Weather Forecast [Terminal || Linux]

Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
    Posts
  • #7988
    thumbtak
    Keymaster

    I found a cool weather forecast command for the Linux terminal.

    Command:
    $ curl wttr.in/[city]

    Example:
    $ curl wttr.in/new_york

    Weather Example

    #8009
    thumbtak
    Keymaster

    How to add this as a panel shortcut, to quickly check the weather.

    You’re encountering a common issue where a command works perfectly in a regular terminal session but fails when executed from a panel launcher. This often boils down to environment variables or path issues. Here’s a systematic approach to troubleshoot:

    1. Verify the Full Path to kitty (or your terminal emulator of choice) and curl:

    • Full Path to kitty:
      • Open a terminal and type which kitty.
      • Copy the output (e.g., /usr/bin/kitty).
      • In your launcher’s “Command” field, replace kitty with the full path.
    • Full Path to curl:
      • Do the same for curl: which curl.
      • Substitute the full path in your launcher’s command.
    • Example:
      • If kitty is at /usr/bin/kitty and curl is at /usr/bin/curl, your launcher command would be:
      • /usr/bin/kitty -e "/usr/bin/curl wttr.in/New_York"

    2. Check Environment Variables:

    • Launcher Environment:
      • Panel launchers might not inherit the same environment variables as a regular terminal session.
      • To test this, modify your script to output the PATH variable:
        • Create a script called weather.sh in your ~/Documents/Scripts directory (or any directory you like), and place this in it.
          Bash
          #!/bin/bash
          echo "PATH: $PATH"
          /usr/bin/curl wttr.in/New_York
      • Then create a launcher command to: /usr/bin/kitty -e "~/Documents/Scripts/weather.sh"
      • When you run the launcher, check the output in the kitty terminal. If the PATH is different from your regular terminal, that’s the problem.

    Fixing PATH:

      • If the PATH is the issue, you can either:
        • Add the necessary directories to the PATH within your script.
        • Modify your system’s environment variables to ensure they are set for all applications.

    3. Permissions:

    • Ensure that the kitty and curl executables have the correct permissions. They should be executable.
    • Verify that your home directory and any scripts you are running also have the correct permissions.

    4. Simple Test:

    • As a simple test to isolate the curl command, try this command in your launcher:
      • /usr/bin/kitty -e "echo test"
    • If that does not work, then there is a core issue with how kitty is being called. If it does work, then the issue is with the curl command.

    5. Debugging:

    • If the problem persists, try redirecting the output of the curl command to a file to see if there are any error messages:
      • /usr/bin/kitty -e "/usr/bin/curl wttr.in/New_York > /tmp/weather.log 2>&1"
      • Then, check the /tmp/weather.log file for any error messages.

    Key Points:

    • Full paths are crucial.
    • Environment variables can cause unexpected behavior.
    • Permissions can also block execution.
    • Debugging by redirecting output can reveal errors.
Viewing 2 posts - 1 through 2 (of 2 total)
  • You must be logged in to reply to this topic.
TAKs Shack