1diff --git a/src/dbus.cpp b/src/dbus.cpp
2index 3b3cccb..1405725 100644
3--- a/src/dbus.cpp
4+++ b/src/dbus.cpp
5@@ -152,7 +152,7 @@ bool dbus_manager::get_media_player_metadata(metadata& meta, std::string name) {
6 }
7
8 bool dbus_manager::init_internal() {
9- if (!m_dbus_ldr.IsLoaded() && !m_dbus_ldr.Load("libdbus-1.so.3")) {
10+ if (!m_dbus_ldr.IsLoaded() && !m_dbus_ldr.Load("@libdbus@/lib/libdbus-1.so.3")) {
11 SPDLOG_ERROR("Could not load libdbus-1.so.3");
12 return false;
13 }
14diff --git a/src/loaders/loader_x11.cpp b/src/loaders/loader_x11.cpp
15index 4db6f78..c60d08c 100644
16--- a/src/loaders/loader_x11.cpp
17+++ b/src/loaders/loader_x11.cpp
18@@ -89,4 +89,4 @@ void libx11_loader::CleanUp(bool unload) {
19
20 }
21
22-std::shared_ptr<libx11_loader> g_x11(new libx11_loader("libX11.so.6"));
23+std::shared_ptr<libx11_loader> g_x11(new libx11_loader("@libX11@/lib/libX11.so.6"));
24diff --git a/src/logging.cpp b/src/logging.cpp
25index 1668226..f0c8df5 100644
26--- a/src/logging.cpp
27+++ b/src/logging.cpp
28@@ -24,7 +24,11 @@ string exec(string command) {
29 #endif
30 std::array<char, 128> buffer;
31 std::string result;
32+
33+ char* originalPath = getenv("PATH");
34+ setenv("PATH", "@path@", 1);
35 std::unique_ptr<FILE, decltype(&pclose)> pipe(popen(command.c_str(), "r"), pclose);
36+ setenv("PATH", originalPath, 1);
37 if (!pipe) {
38 return "popen failed!";
39 }
40diff --git a/src/pci_ids.cpp b/src/pci_ids.cpp
41index feec222..6baa707 100644
42--- a/src/pci_ids.cpp
43+++ b/src/pci_ids.cpp
44@@ -24,11 +24,9 @@ std::istream& get_uncommented_line(std::istream& is, std::string &line)
45 void parse_pciids()
46 {
47 std::ifstream file;
48- file.open("/usr/share/hwdata/pci.ids");
49+ file.open("@hwdata@/share/hwdata/pci.ids");
50 if (file.fail()){
51- file.open("/usr/share/misc/pci.ids");
52- if (file.fail())
53- SPDLOG_ERROR("can't find file pci.ids");
54+ SPDLOG_ERROR("can't find file pci.ids");
55 }
56
57 std::string line;